JAVA代码编写基本规范
1. Java命名规范
1.1 Package 的命名
Package 的名字应该都是由一个小写单词组成,例如:net.ebseries.modules。
1.2 Class 的命名
Class 的名字必须由大写字母开头而其他字母都小写的单词组成,例如:DataFile或InfoParser。
1.3 Class 变量的命名
变量的名字可大小写混用,但首字符应小写。词由大写字母分隔,限制用下划线,限制使用美元符号($),因为这个字符对内部类有特殊的含义。如: inputFileSize。
类中的属性不能定义为public变量直接存取,而是定义成protect变量来防止继承类使用他们并编写get/set方法。
1.4 Class 属性(成员变量)使用
Class 属性(成员变量)使用一定要加前缀this或super标识对应的成员变量,以增加程序的可读性。
1.5 Static Final 变量的命名
Static Final 变量的名字应该都大写,并且指出完整含义,例如:final MAXUPLOADFILESIZE=1024。
1.6 方法的命名
方法名应该是动词,大小写可混用,但首字母应小写。在每个方法名内,大写字母将词分隔并限制使用下划线。参数的名字必须和变量的命名规范一致,问题参数名是否采用以下划线开始作为统一标识,如setCounter(int _size),以标识成员变量size和传入参数_size区别。使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
setCounter(int size){
this.size = size;
}
1.7 数组的命名
数组应该总是用下面的方式来命名:byte[] buffer;而不是:byte buffer[];
2. 代码格式
2.1 代码样式
代码应该用 unix 的格式,而不是 windows 的(比如:回车变成回车+换行)
2.2 文档化
必须用 javadoc 来为类生成文档。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。
2.3 缩进
缩进应该是每行4个空格. 不要在源文件中保存Tab字符. 在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度.
2.4 大括号{}
{} 中的语句应该单独作为一行. 例如, 下面的第1行是错误的, 第2行是正确的:
if (i>0) { i ++ }; // 错误, { 和 } 在同一行
if (i>0) {
i ++
}; // 正确, { 单独作为一行
2.5 括号()
左括号和后一个字符之间不应该出现空格, 同样, 右括号和前一个字符之间也不应该出现空格. 下面的例子说明括号和空格的错误及正确使用:
CallProc( AParameter ); // 错误
CallProc(AParameter); // 正确
不要在语句中使用无意义的括号. 括号只应该为达到某种目的而出现在源代码中。下面的例子说明错误和正确的用法:
if ((I) = 42) { // 错误 - 括号毫无意义
if (I == 42) or (J == 42) then // 正确 - 的确需要括号
2.6 注释
// 注释一行
/* ...... */ 注释若干行
文档注释:
/** ...... */ 注释若干行,并写入 javadoc 文档
在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等。
在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。
3. 方法
方法的规模尽量限制在200行以内。
一个方法最好仅完成一件功能。
为简单功能编写方法。
方法的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。
尽量不要编写依赖于其他方法内部实现的方法。
避免设计多参数方法,不使用的参数从接口中去掉。
用注释详细说明每个参数的作用、取值范围及参数间的关系。
检查方法所有参数输入的有效性。
检查方法所有非参数输入的有效性,如数据文件、公共变量等。
方法名应准确描述方法的功能。
避免使用无意义或含义不清的动词为方法命名
方法的返回值要清楚、明了,让使用者不容易忽视错误情况。
明确方法功能,精确(而不是近似)地实现方法设计。
减少方法本身或方法间的递归调用。
编写可重入方法时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。
4. jsp规范
4.1 jsp目录命名规范
参照Package命名规则,用小写单个单词作为目录名
4.2 jsp文件名规范
参照class命名规则,采用首子母大写,多单词间采用大写字母分割
4.3 jsp传递参数命名规则
参照class变量命名规划
4.4 文件命名其它常见规范
jsp主页面(游览功能) XxxxIndex.jsp (一般记录的删除在此页面做连接)
jsp添加功能页面 XxxxAdd.jsp,相关的处理页面XxxxAddAction.jsp
jsp修改功能页面 XxxxModify.jsp, 相关的处理页面XxxxModifyAction.jsp
jsp删除功能页面 XxxxDel.jsp, 相关的处理页面XxxxDelAction.jsp