1.controller 层太多对必要字段的判断
- 使用 valid 处理
- valid 启用快速失败机制
2.controller 层太多业务代码
- 将业务处理放到 service 中
3.圈复杂度过高
- if 嵌套建议不超过两层
- 多使用 卫语句
4.循环嵌套较多
- 优化算法,尽量保持一层循环
5.相同列表多次循环
- 优化代码结构,一次循环处理完业务
6.属性字段上大量使用 “@Getter” 和 “@Setter”
- 对于 pojo 类名上使用 “@Data”,有继承关系的注意增加 “@ToString(callSupper=true)” 和 “@EqualsAndHash(callSupper=true)”
7.方法名、变量名命名不规范,无法直观地通过名称了解其含义
8.try-catch 范围太大,而且没有输出异常栈
- 尽量保持较小粒度,catch 异常后要及时输出完整的异常日志
9.方法入参作为出参返回
- 杜绝此类方法使用
- 如果操作入参内容,则返回 void
- 如果不操作入参内容,则返回新值,注意是否会覆盖原值
10.系统中存在很多魔法值问题
- 根据常量使用范围,声明常量类并定义常量
- 只用于当前服务的常量,则在一方库的常量类中定义
- 跨多个服务的常量,则在二方库的常量类中定义
- 包共享常量,则在当前包的常量类中定义
- 类共享常量,则在当前类中定义