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标示

  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文件的

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

package行要在import之前,import中标准的包名要在本地的包名之前,而且字母顺序排列;如果import行中包括同一包中的不同子目录,则应该使用*来处理;二者之间应该空一行

package com.philwong.system.configManager;

import com.philwong.philwongException.*;

import java.io.*;

import java.util.Observable;

类注释和类定义

类注释用于解释类的结构和主要功能

/**

*编码实现的功能简要描述以及注意事项

*/

类定义:

public configManager

extend Property

implements Cloneable {

}

成员变量

public 类型的成员变量必须做出注释说明;同一变量类型定义在一起;不同类型变量之间空一行

/**

*配置文件的文件名和路径

*/

public String fileName = “”;

public String filePath = “”;

protected java.sql.Date createdDate = null;

成员变量存取方法(不是必需的)

/**

*成员变量存取方法注释说明

*/

public String getFileName(){ return filename };

构造函数

构造函数采取递增的方式,参数多的放在后面

public configManager() {

..

}

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;

}

}