54 lines
1.3 KiB
Markdown
54 lines
1.3 KiB
Markdown
- 审查清单
|
|
- 代码结构
|
|
- 超长代码
|
|
- 代码层次嵌套过深
|
|
- 函数入参是否过多
|
|
- 循环条件需要有跳出点
|
|
- if是否有对应else
|
|
- 是否有重复代码
|
|
- 代码安全性
|
|
- I/O流是否关闭
|
|
- 资金计算使用Double
|
|
- 是否有超大临时对象
|
|
- 线程池参数
|
|
- 异常处理
|
|
- 日志记录
|
|
- 并发问题
|
|
- 参数检查
|
|
- 远程服务出入参实现Selialization并自定义serialVersionUUID
|
|
- 是否依赖SNAPSHOT版本类库
|
|
- 代码性能
|
|
- 长SQL
|
|
- SQL索引
|
|
- 成熟类库替代自己实现的代码
|
|
- 考虑单例模式
|
|
- 考虑线程池
|
|
- 考虑NIO
|
|
- 考虑锁优化
|
|
- 代码注释
|
|
- 类和方法注释
|
|
- 注释是否表达准确
|
|
- 是否存在FIXME和TODO
|
|
- 是否包含边界值及对异常情况说明
|
|
- 单元测试
|
|
- 是否有可测试性
|
|
- 新代码单元测试
|
|
- 单元测试是否覆盖所有场景
|
|
- 代码优化
|
|
- 枚举替代常量
|
|
- 是否包含魔法值
|
|
- 使用Option替代NPE检查
|
|
- 用Stream替代for循环
|
|
- 使用设计模式
|
|
- 其他
|
|
- 代码逻辑
|
|
- 业务功能
|
|
- 可读性、可测试性
|
|
- 审查工具
|
|
- Phabricator
|
|
- Gerrit
|
|
- Code Stiker
|
|
- 关注改动点
|
|
- 日常审查
|
|
- 一次审查代码量200-400
|
|
-  |