一、命令风格:
1、代码中的命名均不能<以下划线或美元符号>开始,也不能<以下划线或美元符号>结束。
2、代码中的命名严禁使用拼音和英文混合的方式,更不允许直接使用中文的方式。
3、类名使用大驼峰UpperCameCase风格,但以下情形例外:DO/BO/DTO/VO/AO/PO/UID。
4、方法名、参数名、成员变量、局部变量都统一使用<首字母大写>LowerCameCase风格,必须遵从驼峰形式。
5、常量命名全部大写,单词间用下划线隔开。
6、抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。
7、类型与中括号紧挨相连来表示数组。
8、POJO类中布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化错误。
9、包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,
但是类名如果有复数含义,类名可以使用复数形式。
10、杜绝完全不规范的缩写,避免望文不知义。
11、为了达到代码自解释的目标,任何自定义变成元素在命名时,使用尽量完整的单词组合来表达其意。
12、如果模块、接口、类、方法使用了设计模式,在命名时需体现出具体模式。
13、接口类中的<方法 属性>不要加任何修饰符号,保持代码的简洁性,并加上有效的Javadoc注释。
尽量不要在接口里定义变量。
14、接口和实现类的命名有两套规则:
1>对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别。
2>如果是形容能力的接口名称,取对应的形容词为接口名<通常是-able的形式>。
15、枚举类名简易带上Enum后缀,枚举成员名称需要全大写,单词间用以下划线隔开。
16、各层命名规则:
a>Service/DAO层方法命名规范:
1>获取单个对象的方法用get做前缀。
2>获取多个对象的方法用list做list做前缀,
3>获取统计值的方法用count做前缀。
4>插入的方法用save/insert做前缀。
5>删除的方法用remove/delete做前缀。
6>修改的方法用update做前缀。
b>领域模型命名规范:
1>数据对象:xxxDO,xxx为数据表名。
2>数据传输对象:xxxDTO,xxx为业务领域相关的名称。
3>展示对象xxxVO,xxx为网页名称。
4>POJO 是DO/DTO/BO/VO 的统称。
二、常量定义:
1、不允许任何未经预先定义的常量直接出现在代码中。
2、在long 或者Long赋值时,数值后使用大写的L,不能是小写的l
3、不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护。
4、常量的服用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、
包内共享常量、类内共享常量。
1>跨应用共享常量:放置在二方库中,通常是client.jar中的constant目录下。
2>应用内共享常量:放置在一方库中,通常是子模块中的constant目录下。
3>子工程内部共享常量:即在当前子工程的constant目录下。
4>包内共享常量:即在当前报下担负的constant目录下。
5>类内共享常量:直接在类内部private static final 定义。
5、如果变量值仅在一个固定范围内变化用enum类型来定义。
如四季:Spring 春天、summer 夏天、autumn 秋天、winter冬天。