常见开发规范:数据库、后端
参考《阿里巴巴Java开发手册》
数据库
- 命名风格:小写字母,下划线命名风格
- 数据库参数
- 数据库引擎:InnoDB;
- 字符集:utf8;
- 字符校对集:generic_utf8_ci
- 数据库表
- 表名:前缀为项目名称首字母缩写,单词之间用下划线分割,单数形式;
- 必备三字段:id,create_time,update_time
id
:逻辑主键create_time
:创建时间update_time
:更新时间
- 主键
- 逻辑主键:无实际含义,用于唯一标识每个记录
- 业务主键:有实际含义
- 要求每个字段有注释;
- 属性类型
- 逻辑主键:bigint,无符号自增
- 业务主键:varchar,后端生成随机uuid
- 逻辑值:tinyint
- 日期:date
- 时间:timestamp(时间戳)
- 字符串:varchar,需要指定长度(字段长度应该统一并且适当大一点,否则未知的变化会导致前后端的频繁修改),以下列举常用的字符串长度
- 类型、手机号:16位
- ID、密码:32位
- 名称:60位
- 备注:100位
- gps:255
- 长文本:1000位
后端
- 类的定义
- 命名规则:大驼峰命名(除了DO/BO/DTO/VO/AO/PO/UID等);
- 接口类:方法和属性不要有修饰符号,并加上有效的JavaDoc注释;
- 测试类:每个类对应一个测试类,测试类命名以类名开头,Test结尾;
- 工具类:类名带上Utils后缀;
- 枚举类:类名带上Enum后缀,枚举成员名称(常量)全部大写,单词间用下划线隔开;
- 没有内部类:单个文件有且只有一个类,类名和文件名一致;
- 变量定义
- POJO类属性:ORM原则、使用包装数据类型,没有默认值;
- 命名规则:小驼峰命名;
- 常量命名:全部大写,用下划线分隔单词;
- 不使用无意义变量和魔法值;
- 方法定义
- 命名规则:小驼峰命名;
- 测试方法:每个方法最好对应一个测试方法,测试方法以方法名开始,Test结尾。
- DAO/Service层方法命名
- 获取单个对象:get前缀
- 获取多个对象:list前缀,复数结尾;
- 获取统计值:count前缀
- 插入:insert前缀
- 删除:delete前缀
- 修改:update前缀
- 注释规约
- 类:必须有创建者和创建日期,且使用 JavaDoc注释,格式为
/**内容*/
; - 类属性、类方法:必须有 JavaDoc注释;
- 方法内部
- 单行注释:在被注释语句上单独一行,而不是在语句后注释,格式为
// 内容
; - 多行注释:与被注释语句对齐,格式为
/*内容*/
;
- 单行注释:在被注释语句上单独一行,而不是在语句后注释,格式为
- 抽象方法(包括接口方法):要指出返回值、参数、异常,以及方法实现的功能。
- 类:必须有创建者和创建日期,且使用 JavaDoc注释,格式为