避免使用类似的名字,或者仅仅是大小写不同的名字 避免使用下划线(除静态常量等)
包(Package)
采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的 Internet 域名反转并接上包名。 例如:java.awt,com.ambysoft.www.persistence
类(Class)
采用完整的英文描述符,所有单词的第一个字母大写(一些专有的缩写词,比如:AWTException等则除外)。Class的名字建议使用名词或者名词短语。 例如:Customer, SavingsAccount,LayoutManager等
接口(Interface)
接口的名字取决于接口的主要功能和用途。如果接口是使对象具有某种特定的功能,则接口的名字建议使用可以描述这种功能的形容词(加上-able或者-ible后缀)
例如:Searchable,Sortable,NetworkAccessible等
如果接口不是使对象具有某种特定的功能则建议使用名词或者名词短语(同类的命名规则)。
组件/部件(Component)
使用完整的英文描述来说明组件的用途,末端应接上组件类型。 okButton, customerList,fileMenu
异常(Exception)
通常采用字母 e 表示异常。
类变量 字段
采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写。 firstName, lastName
静态常量字段(static final)
全部采用大写字母,单词之间用下划线分隔。 MIN_BALANCE, DEFAULT_DATE
方法
方法命名采用大小写混合的形式。以小写字母开头,名字中其他单词的首字母以大写字母开头,所有其它的单词都为小写字母,不要使用下划线分隔单词。方法的命名应该能描绘出方法的作用和功能,方法的名字建议使用祈使动词或者动词短语。
例如:showStatus(),drawCircle(),addLayoutComponent()
成员函数
5
被访问字段名的前面加上前缀 get。 getFirstName(), getLastName()
布尔型的获取成员函数 所有的布尔型获取函数必须用单词 is 做前缀。 isPersistent(), isString() ;设置成员函数 被访问字段名的前面加上前缀 set。 setFirstName(), setLastName(),setWarpSpeed()
二、空白的使用相关 空行规范
空行的使用有益于将代码按照逻辑分段,提高代码的可读性。在下列情况下建议使用一个空行:
? 在版权声明块、包声明块、引用声明块之后; ? ? ?
在类的声明之间; 在方法的声明之间;
在类中声明最后一个属性之后,声明第一个方法之前。
空格规范
下列情况建议使用单个空格(不是Tab): 在一个关键字和它所修饰的块之间。可用于如下的关键字:catch,for,if,switch,synchronized,while 。下列关键字的后面不要跟随空格:super ,this 。
在一个参数列表中逗号之后。
空格不应该置于方法名与其左括号之间 左括号和后一个字符之间不应该出现空格 右括号和前一个字符之间也不应该出现空格 例如:
public setMethod(int i, String j)
缩进规范
行的缩进要求是四个空格。由于在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度,所以请不要使用Tab键。建议修改各管理工具的设置将Tab字符扩展成4个空格。
三、循环计数器
通常采用字母 i,j,k 或者 counter 都可以接受。 i, j, k, counter
四、Java 注释约定
一个很好的可遵循的有关注释的经验法则是:问问你自己,你如果从未见过这段代码,要在合理的时间内有效地明白这段代码,你需要哪些信息。
·一般概念
注释应该增加代码的清晰度 保持注释的简洁
6
在写代码之前写注释(建议)
对于复杂点的逻辑,注释出为什么做了一些事,而不仅仅是做了什么 · 示范
文档注释 在紧靠接口、类、成员函数和字段声明的前面注释它们。
单行 在成员函数内采用单行注释,来说明业务逻辑、代码段和暂时变量的声明。注
释符\后必须紧跟一个空格,然后才是注释信息。 ·注释哪些部分
类 类的目的、即类所完成的功能,注释出采用的不变量。 接口 设置接口的目的、它应如何被使用以及如何不被使用。
成员函数注释 对于设置与获取成员函数,在成员变量已有说明的情况下,可以不加注释;
普通成员函数要求说明完成什么功能,参数含义是什么返回什么; 普通成员函数内部注释控制结构,代码做了些什么以及为什么这样做,处理顺序等。
实参/参数 参数含义、及其它任何约束或前提条件 字段/属性 字段描述
局部变量 无特别意义的情况下不加注释
五、Java 文件样式约定
所有的 Java(*.java) 文件都必须遵守如下的样式规则:
1) 版权信息
版权信息必须在 java 文件的开头,比如:
/** * Copyright ? 2000 Shanghai XXX Co. Ltd. * All right reserved. */ 其他不需要出现在 javadoc 的信息也可以包含在这里。 2) Package/Imports
package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。(如果有特殊要求,可以不采用*来处理,有时候那样更加明确使用了那些类) package hotlava.net.stats;import java.io.*;import java.util.Observable;import hotlava.util.Application;
这里 java.io.* 是用来代替InputStream and OutputStream 的。
7
3) Class
接下来的是类的注释,一般是用来解释类的。
接下来是类定义,包含了在不同的行的 extends 和 implements public class CounterSet extends Observable implements Cloneable{……} 4) Class Fields
接下来是类的成员变量:
public 的成员变量必须生成文档(JavaDoc)。
proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。(建议都加注释,以便更明确,一目了然) 5) 存取方法(类的设置与获取成员函数) 接下来是类变量的存取的方法。 6) 构造函数
接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。 public CounterSet(int size){ this.size = size; }
7) 类方法 (类的普通成员函数) 下面开始写类的方法: 8) toString 方法
一般情况下,每一个类都应该定义 toString 方法: public String toString() { ……} 9) main 方法
普通类,考虑置入一个main()方法,其中包含用于测试那个类的代码,如果包含了main() 方法, 那么它应该写在类的底部。
六、 Java编码其它约定
文档化
8
相关推荐: