目录
配置
文件格式全部设置为utf-8
禁用
代码中拼音命名
完全不规范的缩写
无意义命名
任何魔法值 (请定义常量或者Enum)
1)java.sql.Date 2)java.sql.Time 3) java.sql.Timestamp
在foreach循环里进行元素的remove/add
强制
类名使用UpperCamelCase(但以下情形例外:DO / BO / DTO / VO / AO / PO / UID)
方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
抽象类命名使用Abstract或Base开头
异常类命名使用Exception 结尾
测试类 命名以它要测试的类的名称开始,以Test结尾
定义整形数组 int[] arrayDemo
POJO类中的任何布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列 化错误
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式
接口和实现类
public interface ICustomService {
}
public class CustomServiceImpl implements ICustomService {
// 类内方法定义的顺序依次是:公有方法或保护方法 > 私有方法 > getter / setter 方法。
}
public interface ICustomDao {
}
public class CustomDaoImpl implements ICustomDao {
}
各层命名规约
A) Service/DAO 层方法命名规约
1) 获取单个对象的方法用 get 做前缀
2) 获取多个对象的方法用 list 做前缀,复数结尾,如:listObjects
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的统称,禁止命名成 xxxPOJO
Long类型用L结尾:
Long id = 1L;
缓存相关常量放在类
public final class CacheConsts {
}
系统配置相关常量放在类 ConfigConsts
空格、换行、注释
// 这是示例注释,请注意在双斜线之后有一个空格
if (xxx == "xxx") {
// 代码
} else if (bbb=="xxxxx") {
// 代码
} else {
// 代码
}
for (DevTableColumnEntity devTableColumnEntity : newList) {
}
int state = xxx ? xx : xxxx;
public void