目录
命名
- 类名使用 UpperCamelCase 风格,遵从驼峰形式 (例:MarcoPolo)
- 方法名、参数名、成员变量、局部变量使用 lowerCamelCase 风格,遵从驼峰形式 (例:localValue )
- 常量命名全部大写,单词间用下划线隔开
- 抽象类命名使用 Abstract 或 Base 开头
- 异常类命名使用 Exception 结尾
- 测试类命名以它要测试的类的名称开始,以 Test 结尾
- 枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
-
Service / DAO 层方法命名规约
1 ) 获取单个对象的方法用 get 做前缀。
2 ) 获取多个对象的方法用 list 做前缀(习惯:getXXXList)。
3 ) 获取统计值的方法用 count 做前缀。
4 ) 插入的方法用 save( 推荐 ) 或 insert 做前缀。
5 ) 删除的方法用 remove( 推荐 ) 或 delete 做前缀。
6 ) 修改的方法用 update 做前缀(或modify)。
常量
不允许任何魔法值( 即未经定义的常量 ) 直接出现在代码中。
格式
不同的业务逻辑之间或者不同的语义之间插入一个空行。相同业务逻辑和语义之间不需要插入空行。
面向对象
- 所有的覆写方法,必须加@ Override 注
- Object 的 equals 方法容易抛空指针异常, 应使用常量或确定有值的对象来调用equals。例:” test ” .equals(object)
- 构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中。
- 当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起,便于阅读。
- 类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter / setter方法。
集合处理
- 集合初始化时,尽量指定集合初始值大小。ArrayList 尽量使用 ArrayList(int initialCapacity) 初始化。
- 注意 Map 类集合 K/V 能不能存储 null 值的情况,如下表格:
集合类 | Key | Value | Super | 说明 |
Hashtable | 不允许为 nul |