日期 2006-04-08 2006-04-30 2006-05-21
版本 0.0.1 初稿 1.0.0 咨询公司审计通过,正式发布 2.0.0 增加系统集成项目过程 说明 作者 王英杰 EPG 佘振国 HTTP://WWW.RAILS.COM.CN/IT PAGE 2 OF 9
JAVA编码规范 目 录
1 2 3
目的 ...................................................................................................................................................................... 4 范围 ...................................................................................................................................................................... 4 规范内容 .............................................................................................................................................................. 4 3.1 命名规范 ............................................................................................................................................................ 4 3.2 文件样式规范 .................................................................................................................................................... 6 3.3 程序编写规范 .................................................................................................................................................... 8
HTTP://WWW.RAILS.COM.CN/IT PAGE 3 OF 9
JAVA编码规范 JAVA编码规范
1 目的
为了保证所每个项目组编写出的程序都符合相同的规范,便于理解和维护,便于检查、减少出错概率,有助于成员间交流,保证一致性、统一性而建立的java程序编码规范。
2 范围
该规范适用于所有基于JAVA开发的项目。
3 规范内容
3.1 命名规范
包(package)命名
1. package名字必须由小写字母组成的英文单词或拼音组成 2. 英文单词或拼音的含义必须能够大致表示该package的用途
3. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写
4. 所有的package都必须使用com.philwong.package1Name的命名结构
类(class)命名
1. Class命名必须由大写字母开头,后面的字母由小写字母组成的英文单词或拼音组成 2. 英文单词或拼音的含义必须能够大致表示该class的用途
3. 多个单词或拼音的构成命名,第一个单词或拼音(可缩写)全部小写,第二个单词或拼音(可
缩写)的首字母必须大写,其余字母小写 4. servlet 类必须使用类名 + Servlet的结构
5. 实体类(entity class)必须使用实体名称的英文单词或拼音命名
6. 实体管理类(entity Manager)必须使用实体名称的英文单词或拼音+Manager的结构 7. 仅返回结果集的用于数据库查询的servlet使用dso + 英文单词或拼音 + Servlet 8. 用于初始化服务器或数据库或者在服务器启动时执行的servlet使用init + 英文单词或
拼音 + Servlet
9. 返回业务逻辑的servlet使用logic + 英文单词或拼音 + Servlet
类变量和常量的命名
1. 类变量和常量的命名必须使用小写字母构成的英文单词或拼音
2. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写
3. 静态变量的命名必须使用static标示
HTTP://WWW.RAILS.COM.CN/IT PAGE 4 OF 9
JAVA编码规范 4. 必须使用protect、public、private标示类变量和常量;缺省可省略的public标示符也
必须注明,不能省略
5. 常量命名全部使用大写字母构成的英文单词和拼音
6. 同名类变量或常量使用变量名或者常量命的英文单词或拼音+下划线+阿拉伯数字构成用
于区分
参数命名
1. 参数的命名必须使用小写字母构成的英文单词或拼音
2. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写
3. 同名参数的英文单词或拼音+下划线+阿拉伯数字构成用于区分 4. 参数命名必须能够标示其含义
数组命名
1. 数组必须使用小写字母构成的英文单词或拼音+[ ]
2. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写
3. 数组总是使用:String arrary[ ] 命名,而不是 String[] array 4. 数组命名必须能够标示其含义
方法的命名
1. 方法必须使用小写字母构成的英文单词或拼音
2. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写 3. 方法的命名必须能够标示其含义 4. 静态方法必须使用static标示
5. 必须使用protect、public、private标示方法;缺省可省略的public标示符也必须注明,
不能省略
其它相关文件的命名
(jsp文件、javaScript文件、图片文件、css文件、xml文件、DTD文件、xsl文件、属
性配置文件、HTML文件)
1. 文件的命名必须使用小写字母构成的英文单词或拼音
2. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写 3. 文件的命名必须能够标示其含义 4. 属性配置文件名后缀使用 *.property 5. jsp文件的
HTTP://WWW.RAILS.COM.CN/IT PAGE 5 OF 9
JAVA编码规范 HTML相关对象的命名
1. 命名必须使用小写字母构成的英文单词或拼音
2. 多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字
母必须大写,其余字母小写 3. 命名必须能够标示其含义 4. field: fld + 单词或拼音 5. textArea:ta + 单词或拼音 6. checkbox: cb + 单词或拼音 7. radioBox: rb + + 单词或拼音 8. image : img + 单词或拼音 9. link : lk + 单词或拼音
10. hiddenFileld : hiddenFld + 单词或拼音 11. pullDownSelection: ps + 单词或拼音 12. horizonLine: hl + 单词或拼音 13. button : btn + 单词或拼音 14. imageButton : imgBtn + 单词或拼音 15. banner : ban + 单词或拼音
3.2 文件样式规范
版权信息
/**
*Copyright 2003 电子计算技术研究所 *All Right Reserved *Author :作者姓名 *编码日期格式:YYYY-MM-DD */
package行要在import之前,import中标准的包名要在本地的包名之前,而且字母顺序排列;如果import行中包括同一包中的不同子目录,则应该使用*来处理;二者之间应该空一行 package com.philwong.system.configManager;
import com.philwong.philwongException.*; import java.io.*;
import java.util.Observable;
package/import
HTTP://WWW.RAILS.COM.CN/IT PAGE 6 OF 9
JAVA编码规范 类注释和类定义
类注释用于解释类的结构和主要功能 /**
*编码实现的功能简要描述以及注意事项 * */ 类定义:
public configManager }
成员变量
public 类型的成员变量必须做出注释说明;同一变量类型定义在一起;不同类型变量之间空一行 /**
*配置文件的文件名和路径 */
public String fileName = “”; public String filePath = “”;
protected java.sql.Date createdDate = null;
„
extend Property implements Cloneable {
成员变量存取方法(不是必需的)
/**
*成员变量存取方法注释说明 */
public String getFileName(){ return filename }; „
构造函数
构造函数采取递增的方式,参数多的放在后面 public configManager() { .. }
HTTP://WWW.RAILS.COM.CN/IT PAGE 7 OF 9
JAVA编码规范 public configManager(String fileName) { .. }
public configManager(String filename,String filePath) { .. }
成员方法
1. 每一个类尽可能都定义一个toString()方法 2. 如果有main()方法,那么应该放在类的底部 3. 每个方法之间空一行
修改注释说明
/**
*修改说明:
*修改人: 修改日期: *修改原因: */
public setFilePath(String filePath) { //old code remark line 124 //this.filePath = filePath; //new code 126 --130
if (filePath = = null) { this.filePath = “”; } else {
this.filePath = filePath; } }
3.3 程序编写规范
代码样式
代码应该用 unix 的格式,而不是 windows 的(比如:回车变成回车+换行)
文档化
必须用 javadoc 来为类生成文档。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。使用 @author 标记是不被推荐的,因为代码不应该是被个人拥有的。
缩进
缩进应该是每行2个空格. 不要在源文件中保存Tab字符. 在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度.
HTTP://WWW.RAILS.COM.CN/IT PAGE 8 OF 9
JAVA编码规范 如果你使用 UltrEdit 作为你的 Java 源代码编辑器的话,你可以通过如下操作来禁止保存Tab字符, 方法是通过 UltrEdit中先设定 Tab 使用的长度室2个空格,然后用 Format|Tabs to Spaces 菜单将 Tab 转换为空格。
页面格式
页宽应该设置为80字符. 源代码一般不会超过这个宽度, 并导致无法完整显示, 但这一设置也可以灵活调整. 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进2个字符.
{}对
{} 中的语句应该单独作为一行. 例如, 下面的第1行是错误的, 第2行是正确的:
if (i>0) { i ++ }; // 错误, { 和 } 在同一行
if (i>0) { i ++
}; // 正确, { 单独作为一行
} 语句永远单独作为一行. 如果 } 语句应该缩进到与其相对应的 { 那一行相对齐的位置。
()对
左括号和后一个字符之间不应该出现空格, 同样, 右括号和前一个字符之间也不应该出现空格. 下面的例子说明括号和空格的错误及正确使用:
CallProc( AParameter ); // 错误 CallProc(AParameter); // 正确
不要在语句中使用无意义的括号. 括号只应该为达到某种目的而出现在源代码中。下面的例子说明错误和正确的用法:
if ((I) = 42) { // 错误 - 括号毫无意义
if (I == 42) or (J == 42) then // 正确 - 的确需要括号
HTTP://WWW.RAILS.COM.CN/IT PAGE 9 OF 9
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务