-
【强制】命名不能以下划线_和美元$开始或结束
-
【强制】严禁使用拼音与英文混合的方式
-
【强制】类名使用UpperCamelCase风格,遵循驼峰形式,但是以下情况例外:DO/BO/DTO/VO/AO
-
【强制】方法名、参数名、成员变量、局部变量都统一使用lowerCameCase风格
-
【强制】常量命名全部大写,单词间用下划线_分割,力求语意表达清楚,不要嫌名字长
-
【强制】抽象类命名使用Abstract或base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾
-
【强制】中括号[]是数据类型的一部分,数组定义如下:
String[] args;
-
【强制】POJO类中的不尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误,反例:
Boolean isDeleted;
-
【强制】报名统一使用小写,点分隔符之间有且只有一个自然语意的英语单词。包名统一使用单数形式,如果类名有复数含义,类名可以使用复数形式。
-
【强制】杜绝完全不规范的缩写
-
【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达
-
【推荐】接口类中的方法和属性不要加任何修饰符号,public也不要加。尽量不要在接口里定义变量
-
接口和实现类的命名有两套规则:
(1)【强制】对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别
(2)【推荐】如果是形容能力的接口名称,取对应的形容词做接口名(通常是-able形式)
-
【参考】枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线_隔开
枚举其实就是特殊的常量类,且构造方法被默认强制是私有
-
【参考】各层命名规范
(1)Service/DAO层方法命名规范
- 获取单个对象的方法用get做前缀
- 获取多个对象的方法用list做前缀
- 获取统计值的方法用count做前缀
- 插入的方法用save/insert做前缀
- 删除的方法用remove/delete做前缀
- 修改的方法用update做前缀
(2)领域模型命名规约:
- 数据对象:xxxDO,xxx即为数据表名
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称
- 展示对象:xxxVO,xxx一般为网页名称
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO



