一、简要
- 对开发者来说,规范的代码是最好的文档。
- 尽量使用完整的英文描述符少用缩写,但如果用了,要明智地使用,且整个工程中统一。
- 采用适用于相关领域的术语。
- 尽量避免使用长的名字。
- 避免使用中文拼音。
- 避免使用下划线(除静态常量等)。
- 采用大小写混合(驼峰法则)使名字可读。
1、驼峰法则
将所有字母都小写(包括缩写),然后将单词的第一个字母大写。
大驼峰式:每个单词的第一个字母都大写,来得到大驼峰式命名。
(小)驼峰式:除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰式命名。
为避免歧义,文中小驼峰法统称为驼峰法,大驼峰/帕斯卡法统称为大驼峰法则。
二、命名示范:
1、包(Package)
项目包命名规则:<域名反转>.<团队名>.<项目名>。相关项目可使用<域名反转>.<团队名>.<父项目名>.<子项目名>的命名法则,其中团队名可以视情况省略。命名必须全部使用英文小写字母,禁止使用“下划线”等字符。
示例:cn.com.pcauto.auto5.dealer
2、类、接口(Class/Object、Interface)
- 类和接口使用大驼峰命名法。
- 抽象类使用“Abstract”做为类命名的开头。
- Exception类命名使用“Exception”做为类命名的结尾。
- 在面向接口编程中,接口的实现类的命名规则为:<接口名>+”Impl”。不推荐使用匈牙利命名法。
示例(正确):
接口 | 实现类 |
---|---|
UserProvider | UserProviderImpl |
匈牙利命名法(不推荐):
接口 | 实现类 |
---|---|
IUserProvider | UserProvider |
3、方法(Method/Function)
- 方法的命名使用驼峰法,一般使用动词或动词+名词组合。
- 获取成员函数 被访问字段名的前面加上前缀 get
示例:getFirstName(), getLastName() - 布尔型的获取成员函数 所有的布尔型获取函数必须用单词 is 做前缀。
示例:isPersistent(), isString() - 设置成员函数被访问字段名的前面加上前缀 set。
示例:setFirstName(), setLastName(),setWarpSpeed() - 普通成员函数采用完整的英文描述说明成员函数功能,第一个单词尽可能采用 一个生动的动词,第一个字母小写。
示例:openFile(), addAccount()
4、变量(Variable)
- 变量的命名使用驼峰法
示例:openId - 常量命名使用大写字母并用下划线分割
示例:MAX_SUITABLE_SIZE - 列表内容
- 循环计数器 通常采用字母 i,j,k 或者 counter 都可以。
三、注释规范
一个很好的可遵循的有关注释的经验法则是:问问你自己,你如果从未见过这段代码,要在合理的时间内有效地明白这段代码,你需要哪些信息。
Java注释的三种类型:
单选注释: //
块注释: /* */
文档注释: /** */
不仅有注释的功效而且你鼠标放在你注释的方法上面他会把你注释的内容显示出来(不同的开发工具不一样,如idea默认是trl+Q)。
1、类注释
javadoc 来为类生成文档。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。使用 @author 标记是不被推荐的,因为代码不应该是被个人拥有的。注释模板如下:
/**
* Copyright (C), 2006-2017, Guangzhou XXX info. Co., Ltd.
* FileName: Test.java
* 类的详细说明
* @author 类创建者姓名
* @Date 创建日期
* @version 1.00
*/
2、属性注释
在每个属性前面必须加上属性注释,注释模板如下:
/** 提示信息 */
private String strMsg = null;
3、方法注释
注释模板如下:
/**
* 类方法的详细使用说明
* @param 参数1 参数1的使用说明
* @return 返回结果的说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/
4、方法内部注释
在方法内部使用单行或者多行注释,该注释根据实际情况添加,如:
//背景颜色
Color bgColor = Color.RED
四、其他
- 数据库的字段和表应使用下划线而不是驼峰法,因为数据库通常都会配置为都不区分大小写;
- Windows文件夹和文件名不区分大小写,linux区分大小写;
如果将a.txt重命名为A.txt提交到svn时会报错,可以先改为其它名字提交后在改成正确的名字。
原文来自:lyhkmm.com