1.命名规范。
2.注释规范。
3.代码规范。
4.SQL语句规范。
1.命名规范
1.类,方法,变量等尽量完整的单词组合来表达其含义。
2. [强制]类名使用UpperCamelCase风格,但以下情形例外: DO/ BO/DTO/ VO/ AO
/ PO/ UID等。
正例: JavaServerlessPlatform / UserDO / XmIService / TcpUdpDeal / TaPromotion
反例: javaserverlessplatform / UserDo / XML Service / TCPUDPDeal / TAPromotion
3. (强制] 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵
从驼峰形式。
正例: localValue / getHttpMessage() / inputUserId
4. [强制] 常量命名全部大写,单词间用下划线隔开 ,力求语义表达完整清楚 ,不要嫌名字
长。
正例: MAX_ STOCK_ COUNT / CACHE_ _EXPIRED. _TIME
反例: MAX_ COUNT / EXPIRED_ TIME
5.访问路径不能相同,不方便根据前端访问路径快速定位后台接口。
2. 注释规范:
1.类,接口注释模板:
/**
*
*@description:
*@author: authorName
*@date: ${DATE} ${TIME}
*@version: 1.0
**/
每新建一个接口或方法需要写明此接口或方法的用途。同时标明作者以及新建时间。
2.方法注释模板:
每新建一个方法需要描述其作用,作者、参数,返回值、时间。
*
* @description:
* @author: Mr.Jiang
$params$ {@link }
* @return $return$
* @throws
* @date: $date$ $time$
*/
1.描述:简单明确的表达该方法的含义。如果该方法业务逻辑比较复杂,需要整理逻辑,并将思路步骤描写清楚。方法体不可过大,单个方法的总行数不超过 80 行。可将功能块提取成一个方法,使主方法简介清晰,更注重于业务逻辑的处理。
2. 参数:尽量不使用Map作为参数。描述清楚其参数的含义。
3. 返回值:如果有返回值,尽量描述启含义。
例:
/**
* @description: 简要描述
* @author: Mr.Jiang
* @param pwa2000 : 困难职工主键id
* @param pwa10 : {@link Pwa10} 困难职工实体
* @return void
* @throws
* @date: 2020/9/28 10:34
*/
public void complexMethod(String pwa2000, Pwa10 pwa10) {
/**
* 该复杂方法逻辑:。。。
* 1.。。。。
* 2. 判断是否是。。。
* 2.1 如果是。。。
* 2.2 如果不是。。。
* 3. 。。。。
*
* a2060 : 审核状态, 码表 s010
* 1. 接收工会待审核
* 2. 原工会审核未通过
* 3.。。。。。
*
*/
// 以下是业务逻辑代码 关键逻辑地方需要注释
}
1. [推荐] 及时清理不再使用的代码段或配置信息。
说明:对于垃圾代码或过时配置,坚决清理干净,避免程序过度臃肿,代码冗余。
正例:对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(//)
来说明注释掉代码的理由。
3.代码规范
1.主要是缩进,格式等。可以根据代码检测工具检测出的问题。建议安装插件 SonarLint.或者alibabaAlibaba Java Coding Guidelines。
2.其余的细节,魔法值,判空,浮点数计算等参考代码规范。
3.一些idea快捷操作:(help —》 KeyMapReference 可以查看idea的快捷键)
ctrl+alt+v :自动抽取变量
Ctrl + Alt + M: 将代码块抽取为方法
4.总结:
这里只例出了部分我们小组代码审查需要审查的东西。更多细节的代码规范建议参考阿里巴巴代码规范内容。