一、JAVA文件命名规范
1.类命名
抽象类以 Abstract 或者 Base 开头。
异常类以 Exception 作为后缀。
枚举类以 Enum 作为后缀。
工具类以 Utils 作为后缀(相应的包名最后以 .util 结尾)。
常量类以 Consts 作为后缀(相应的包名最后以 .constant 结尾)。
形容能力的接口使用 able 作为后缀。
实现类与接口用后缀 Impl 区别。
数据类:表名(首字母大写) + DO。
传输类:领域相关名 + DTO。
展示类:页面名称 + VO。
2.service/dao层方法命名
获取单个对象的方法用 get 做前缀。
获取多个对象的方法用 list 做前缀。
获取统计值的方法用 count 做前缀。
插入的方法用 save 做前缀。
删除的方法用 remove 做前缀。
修改的方法用 update 做前缀。
3.变量的命名规范
第一个单词的首字母小写,其后单词的首字母大写
例如:maxValue。
变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。
pojo中的布尔变量,都不要加is(数据库中的布尔字段全都要加 is_ 前缀)。
4.常量/枚举值的命名规范
常量名/枚举值应该都使用大写字母,下划线分割单词。
例如:MAX_VALUE
二、数据库命名规范
表名和字段名字必须用小写字母或数字,数字不可开头,两个下划线中间不能只有数字。
库名与应用名尽量一致。
表名:业务名称_表的作用(单数形式)。
主键索引:pk_字段名。
唯一索引:uk_字段名。
普通索引:idx_字段名。
表示是否字段:is_xxxx unsigned tinyint(1.表示是,0.表示否)。
触发器:trg_表名_[ insert | update | delete ]
视图:viw_相关表名1_相关表名2_...
数据库禁止用存储过程。
三、JUnit单元测试命名规范
1.测试类的命名规范
类的命名规则是:被测试的业务 + Test、被测试的接口 + Test、被测试的类 + Test。
类的名字必须由大写字母开头而其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写,如MobileBindTest。如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample。
2.被测方法的命名规范
test + 被测方法_测试时所处状态 或者 test + 被测方法_具体测试方法。
比如要测试的用例是“数据库用户信息不存在时,获取Mobile绑定消息”,那么它的测试用例名称就是testSetMobileBind_NoSkyid。
比如要测试的方法是findParam,采用的是边界值方法,那么它的测试用例名称可以是testFindParam_Boundaries。
3.测试包命名规范
被测试类的包名前加上“test.” 。被测试类的包名是com.wistrons.util,那么测试类的包名就是test.com.wistrons.util。
(通过maven构建项目,默认情况家已经建好了test文件夹,不需要再包前面加上test前缀了。)
四、注释规范
注释不是必须的,语义清晰的代码不需要注释。
类、类属性、类方法必须使用 Javadoc 注释。
类注释至少标明作用、创建者和创建日期。
抽象方法必须使用 Javadoc 注释,至少标明功能(参数、返回值、异常、子类的实现要求等可斟酌加上)。
枚举值必须有注释,建议用段落注释(使用/*内容*/格式)。
修改代码同时,注释也要做相应的修改。
五、版本控制工具提交信息规范
第1行:提交修改内容的摘要(少于25个汉字,或英文大写字母开始,不加句号,使用祈使句)。
第2行:空行
第3行及以后:修改的理由(36个汉字左右换行,正文解释是什么和为什么,而不是如何做)。
备注
部分参考自《阿里巴巴Java开发手册v1.2.0》。
不同公司的命名规范还应该根据各自公司内部要求来制定。以上只是提供一个参考。