`

Java编程风格与命名规范整理

    博客分类:
  • Java
 
阅读更多

基本命名规范

包命名

包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。

由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母。

  1. People  
  2. TestPage  
  3. XMLExample 

类,接口命名

类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

  1. People  
  2. TestPage  
  3. XMLExample 

方法名

方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。可以为动词或动词+名词组合。

设置/获取某个值的Method,应该遵循setV/getV规范

返回长度的Method,应该命名为length

测试某个布尔值的Method,应该命名为isV

将对象转换为某个特定类型的Mehod应该命名为toF

  1. getDate();  
  2. length();  
  3. isReady();  
  4. toOracleFormat(); 

变量名

1.普通变量命名应该采用首字母小写,其他字母首字母大写的方式。

2.final static变量的名字应该都大写,并且指出完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词如。

  1. NUM_DAYS_IN_WEEK  
  2. MAX_VALU 

3. 如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性

  1. context=ctx  
  2. message=msg 

4. 通过在结尾处放置一个量词,就可创建更加统一的变量

  1. First(一组变量中的第一个)  
  2. Last(一组变量中的最后一个)  
  3. Next(一组变量中的下一个变量)  
  4. Prev(一组变量中的上一个)  
  5. Cur(一组变量中的当前变量) 

5. 无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。

6. 索引变量:i、j、k等只作为小型循环的循环索引变量。

7. 逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。

  1. if (isClosed){  
  2. dosomeworks;  
  3. return ;  

数组

总是使用以下方式定义数组:

  1. int [] arr =  new   int [ 10 ]; 

禁止使用C语言的是形式:

  1. 禁止  
  2. int  arr[] =  new   int [ 10 ]; 

集合

数组或者容器推荐命名方式为名词+s的方式,例如:

  1. List<Person> persons = getPerson();  
  2. for (Person person : persons){  
  3. dosomeworks;  

泛型

应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

Container中的Element应该用E表示;Map里的key用K表示,value用V;Type用T表示;异常用X表示

如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

  1. public  
  2. class  HashSet<E>  extends  AbstractSet<E> {…}  
  3.  
  4. public  
  5. class  HashMap<K, V>  extends  AbstractMap<K, V> {…}  
  6.  
  7. public  
  8. class  ThreadLocal<T> {…}  
  9.  
  10. public  
  11. interface  Functor<T, X  extends  Throwable> {  
  12.  
  13.     T val()  throws  X;  
  14.  

推荐的命名

1.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

  1. interface  Container  
  2. class  ContainerImpl 

2.Exception类最好能用“Exception”做为类命名的结尾

  1. DataNotFoundException  
  2. InvalidArgumentException 

3.抽象类最好能用“Abstract”做为类命名的开头

  1. AbstractBeanDefinition  
  2. AbstractBeanFactory 

4. Test类最好能用“Test”做为类命名的结尾

  1. ContainerTest 

5.简称与缩写(不推荐使用)

  1. cp代表colorPoint  
  2.  
  3. buf代表buffer  
  4.  
  5. off代表offset  
  6.  
  7. len代表length 

除非是在循环中,否则一般不推荐使用单个字母作为变量名,不过也有例外,即约定俗成的单个字母

  1. b代表 byte  
  2.  
  3. c代表 char  
  4.  
  5. d代表 double  
  6.  
  7. e代表Exception  
  8.  
  9. f代表 float  
  10.  
  11. i, j, k代表整数  
  12.  
  13. l代表 long  
  14.  
  15. o代表Object  
  16.  
  17. s代表String  
  18.  
  19. v代表某些类型的特定值 

代码风格

花括号

花括号统一采用以下格式:

  1. if (bool experssion){  
  2. dosomework;  

除非花括号中为空,不然任何情况下不能省略花括号,并且花括号必须换行,例如:

  1. if (i== 0 ){  
  2. return ;  
  3. }  
  4. while ( true ) {} 

以下写法禁止出现:

  1. 禁止  
  2. if (i !=  0 return ;  
  3. 禁止  
  4. if (i != 0 ) { return ;} 

括号

括号的前,后一个字符不需要空格,例如:

  1. Person p =  new  Person(“Jack”,  17 ); 

空格

逗号之后紧跟一个空格。

  1. Person p =  new  Person(“Jack”,  16 , “China”); 

2. 二元操作符前后跟空格。

  1. int  i = a + b – c * d; 

3. 一元操作符不需要空格,for语句分号后有空格。

  1. for ( int  i =  0 ; I <  10 ; i++){  
  2. dosomework;  

4. 括号前后不需要空格

类的定义结构按照顺序为:

1) 常量

2) 成员变量

3) 构造函数

4) 成员函数

5) get和set方法

各个部分之间留出一个空行。

例如:

规范类模板:

  1.   class  Person{  
  2.      private   final   static   int  MAX_AGE =  100 ;  
  3.  
  4.      private  String firstname = “Jack”;  
  5.  
  6.      public  Person(){}  
  7. public  Person(String firstname){  
  8.      this .firstname = firstname;  
  9. }  
  10.  
  11. public   void  doExercise(){  
  12.     dosomeworks;  
  13.     run();  
  14. }  
  15. private   void  run(){  
  16.     dosomeworks;  
  17. }  
  18.  
  19. public  getFirstname(){  
  20.      return  firstname;  
  21. }  
  22. public  setFirstname(String firstname){  
  23.      this .firstname = firstname;  
  24. }  

2.构造函数

1) 参数为空的构造函数出现在最上方

2) 有调用关系的构造函数相邻

3) 参数尽量由少到多从上至下排序

3.使用成员变量

在类的方法内引用成员变量了命名冲突以外,不使用this。非特殊情况在类的方法内都不使用get和set方法存取成员变量。

4.方法

有调用关系的方法尽量放在相邻的位置,public和private方法可以交叉放置。

5.get和set方法,所有需要公开的成员变量都要符合良好的javabean规范,提供get和set方法,尽量使用IDE工具自动生成。

Javadoc注释

在每个程序的最开始部分,一般都用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加 Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示

参考文档

  1. Java命名规范  
  2.  
  3. http://java.chinaitlab.com/base/834496.html  
  4.  
  5. Java代码规范  
  6.  
  7. http://www.doc88.com/p-733474983375.html  
  8.  
  9. java应用命名规范  
  10.  
  11. http://home.51.com/renjanely/diary/item/10051465.html  
  12.  
  13. 【J2SE系列】Java命名规范  
  14.  
  15. http://my.oschina.net/iblike/blog/34100\  
  16.  
  17. 开发笔记:Java命名规范  
  18.  
  19. http://blog.donews.com/maverick/archive/2005/10/12/585459.aspx 


分享到:
评论

相关推荐

    java编程风格如何修改

    Java编程风格是编写Java代码时遵循的一套规则和约定,它影响着代码的可读性、可维护性和团队协作效率。以下是一些关于如何修改和优化Java编程风格的关键知识点: 1. **命名规范**: - 类名:使用驼峰式命名,所有...

    java编程规范.pdf

    命名规范 良好的命名习惯可以大大提高代码的可读性: - **变量命名**:采用有意义的名字,如`firstName`代替`fName`。 - **类和接口命名**:首字母大写,如`Customer`。 - **常量命名**:全大写单词间用下划线...

    JAVA编程规范【整理】.doc

    根据提供的文件信息,本文将对《JAVA编程规范【整理】.doc》中的关键知识点进行详细的阐述与解析。本文档主要围绕Java编程规范的核心内容展开,包括排版标准、规则、建议、注释标准以及命名标准等方面,旨在为Java...

    Java 编程规范

    综上所述,Java编程规范涉及到了编码风格、源文件组织、格式化、命名规则以及文档注释等多个方面,这不仅有助于提升代码质量,而且能够促进团队协作,确保代码的长期可维护性。遵循这些规范,对于任何参与Java开发...

    基于《阿里巴巴Java开发手册》,整理的Java开发编程规约。

    规约涵盖了命名规范、编码规范、注释规范等多个方面,旨在形成一套通用的编程风格指南。 ### 命名规范 1. **最基本要求**: - 不允许以下划线或美元符号开始或结束命名。 - 禁止使用拼音或拼音与英文混合的命名...

    java 语言编程规范

    本规范涵盖了命名规则、注释、类与对象设计、接口与继承、异常处理、并发编程等多个方面,是每个Java开发者应当遵循的最佳实践。 1. **命名规则**: - 类名使用大驼峰命名法,如`MyClassName`。 - 接口名也使用大...

    JAVA面试题资料汇总及答案整理.pdf

    8. 编程风格:良好的编程风格包括清晰的命名规范、适当的注释、遵循一定的代码格式(如缩进、空格)和模块化的代码组织。每个开发人员应遵循团队约定的编码规范。 9. 栈与堆:栈主要存储局部变量和方法调用信息,...

    java编程规范

    ### Java编程规范详解 #### 一、概述 本文档基于一份由周甫老师编写的《JAVA编码标准及规范手册》进行整理与总结。该手册详细介绍了编写高质量Java代码的规范和标准,对于初学者和有一定经验的开发者都非常有用。...

    java代码规范,可读性整理

    在Java编程中,代码的可读性是一项极其重要的考量因素。良好的代码可读性不仅能够帮助其他开发人员快速理解代码逻辑,还能降低维护成本,提高团队协作效率。以下是根据给定文件内容整理的Java代码规范以及提高代码...

    Java语言编码规范

    标题所体现的知识点为Java语言编码规范,这是一套规则和约定,用于统一Java开发者的编程风格和代码组织方式。在描述中提到此规范是由SUN公司的发布编码标准翻译整理而成,这意味着规范的权威性和行业内的广泛认可。...

    自己整理的java代码书写规范

    1. **命名规范**: - **项目命名**:项目名应全部为小写单词,具有代表性,能清晰表明项目内容。例如,`shopping-platform`。 - **包命名**:遵循`com|org|edu|net`等顶级域名,然后是公司名、组织名、学校名或...

    Java手机短信项目源码Java实用源码整理learns

    这是一份实用的源码整理,对于想要深入学习Java编程,特别是对Java在实际项目中的运用感兴趣的开发者来说,是非常有价值的参考资料。 1. **短信服务接口**:在Java项目中,通常会定义一个短信服务接口,这个接口...

    JAVA开发规范整理版.doc

    【JAVA开发规范整理版】 Java开发规范是一套指导开发者遵循的标准和约定,旨在提升代码质量、可读性、可维护性以及团队协作效率。规范涵盖了代码组织、风格、注释等多个方面,确保代码的可靠性和一致性。 **1. ...

    Java规范Java规范Java规范Java规范

    Java 规范详解 《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者。该手册以 Java 开发者为中心视角,...

    google-java-format一个重新格式化Java源代码以符合GoogleJavaStyle的程序

    `google-java-format` 是一款强大的工具,专门用于自动格式化Java源代码,使其遵循Google制定的Java编程风格指南,即`Google Java Style Guide`。这款工具旨在提高代码的可读性和一致性,减少因代码格式问题引发的...

    Java编码规范V1.0.pdf

    在Java编程中,编码规范的实施主要体现在以下几个方面: 1. 包命名规则:包名的前缀通常是全小写的ASCII字母,并且是一个顶级域名,如com、edu、gov等。后续部分则根据机构内部的命名规范区分,可能包含部门、项目...

    java知识整理

    **知识点9:** Java命名规范建议:类名与接口名首字母大写,方法名首字母小写,常量全大写并用下划线分隔,变量首字母小写后续单词首字母大写,包名全小写。 **知识点10:** Java不允许布尔类型与数字类型相互转换...

Global site tag (gtag.js) - Google Analytics