Java命名规范
JAVA命名规范
JAVA编码规范
1 目的
为了保证所每个项目组编写出的程序都符合相同的规范,便于理解和维护,便于检查、减少出错概率,有助于成员间交流,保证一致性、统一性而建立的java程序编码规范。
2 范围
该规范适用于所有基于JAVA开发的项目。
3 规范内容
3.1 命名规范
包(package)命名
package名字必须由小写字母组成的英文单词或拼音组成
英文单词或拼音的含义必须能够大致表示该package的用途
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
所有的package都必须使用com.philwong.package1Name的命名结构
类(class)命名
Class命名必须由大写字母开头,后面的字母由小写字母组成的英文单词或拼音组成
英文单词或拼音的含义必须能够大致表示该class的用途
多个单词或拼音的构成命名,第一个单词或拼音(可缩写)全部小写,第二个单词或拼音(可缩写)的首字母必须大写,其余字母小写
servlet 类必须使用类名 + Servlet的结构
实体类(entity class)必须使用实体名称的英文单词或拼音命名
实体管理类(entity Manager)必须使用实体名称的英文单词或拼音+Manager的结构
仅返回结果集的用于数据库查询的servlet使用dso + 英文单词或拼音 + Servlet
用于初始化服务器或数据库或者在服务器启动时执行的servlet使用init + 英文单词或拼音 + Servlet
返回业务逻辑的servlet使用logic + 英文单词或拼音 + Servlet
类变量和常量的命名
类变量和常量的命名必须使用小写字母构成的英文单词或拼音
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
静态变量的命名必须使用static标示
必须使用protect、public、private标示类变量和常量;缺省可省略的public标示符也必须注明,不能省略
常量命名全部使用大写字母构成的英文单词和拼音
同名类变量或常量使用变量名或者常量命的英文单词或拼音+下划线+阿拉伯数字构成用于区分
参数命名
参数的命名必须使用小写字母构成的英文单词或拼音
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
同名参数的英文单词或拼音+下划线+阿拉伯数字构成用于区分
参数命名必须能够标示其含义
数组命名
数组必须使用小写字母构成的英文单词或拼音+[ ]
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
数组总是使用:String arrary[ ] 命名,而不是 String[] array
数组命名必须能够标示其含义
方法的命名
方法必须使用小写字母构成的英文单词或拼音
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
方法的命名必须能够标示其含义
静态方法必须使用static标示
必须使用protect、public、private标示方法;缺省可省略的public标示符也必须注明,不能省略
其它相关文件的命名
(jsp文件、javaScript文件、图片文件、css文件、xml文件、DTD文件、xsl文件、属性配置文件、HTML文件)
文件的命名必须使用小写字母构成的英文单词或拼音
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
文件的命名必须能够标示其含义
属性配置文件名后缀使用 *.property
jsp文件的
HTML相关对象的命名
命名必须使用小写字母构成的英文单词或拼音
多个单词或拼音的构成命名,第一个单词(可缩写)全部小写,第二个单词(可缩写)的首字母必须大写,其余字母小写
命名必须能够标示其含义
field: fld + 单词或拼音
textArea:ta + 单词或拼音
checkbox: cb + 单词或拼音
radioBox: rb + + 单词或拼音
image : img + 单词或拼音
link : lk + 单词或拼音
hiddenFileld : hiddenFld + 单词或拼音
pullDownSelection: ps + 单词或拼音
horizonLine: hl + 单词或拼音
button : btn + 单词或拼音
imageButton : imgBtn + 单词或拼音
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) {
..
}
成员方法
每一个类尽可能都定义一个toString()方法
如果有main()方法,那么应该放在类的底部
每个方法之间空一行
修改注释说明
/**
*****修改说明:
*****修改人: 修改日期:
*****修改原因:
***/**
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;
}
}