《程序员的三门课》
第一篇——程序员技能与成长
code review
好处
- 提升团队代码质量
- 找出潜在 bug
- 保证代码风格统一
- 成员相互学习
- 编码习惯
- 设计模式
- 好用的 API
- 更加了解系统和业务
代码审查的好处不仅仅是代码审查本身,而是在于审查过程中产生的思考以及思考之间的碰撞。
如何做
要有审查清单
代码审查是可以标准化和流程化的。审查清单可以为代码审查提供一个标准,对着清单逐一检查,不仅可以在集中审查时快速找到问题,也可以方便开发者在开发阶段就可以照着清单自查。
审查清单的主要内容。
- 代码结构:
- 是否包含超长代码
- 代码嵌套是否过深
- 函数入参是否过多
- 循环是否有跳出点
- 是否存在代码复制
- 逻辑分支是否完善
- 代码安全性:
- I/O 是否正常关闭
- 资金计算是否使用 Double
- 是否有超大的临时对象
- 线程池大小是否合理
- 异常是否被忽略
- 是否有详细的日志
- 是否存在并发问题
- 参数是否做了必要的校验
- 远程服务的入参出参是否支持序列化
- 应用是否依赖了 SNAPSHOT 版本的类库
- 做删除时是否做了必要的权限或者合法性校验
- 代码性能:
- 是否有超长的 SQL
- SQL 是否有用到索引
- 是否有成熟的类库可以替换自己的实现
- 是否可以考虑单例模式
- 是否可以考虑线程池
- 是否可以考虑 NIO
- 是否可以进行锁优化
- 代码注释:
- 类和方法是否有注释
- 注释是否可以表达其准确含义
- 是否存在 FIXME,TODO 等注释
- 注释中是否包含边界值以及对异常情况的说明
- 单元测试:
- 代码是否具有可测试性
- 新代码是否有单元测试
- 单元测试是否可以覆盖所有场景
- 代码优化:
- 是否可以使用枚举代替自定义变量
- 是否包含魔法值
- 是否可以使用 Optional 代替 NPE 检查
- 是否可以使用 Stream 代码 for 循环
- 是否可以使用设计模式
- 其他:
- 代码逻辑是否正确
- 是否实现了业务功能
- 代码是否有好的可读性及可测试性
相对应得,可以针对前端设计一些对应的审查清单
标签:审查,三门,是否,代码,程序员,清单,可以 From: https://www.cnblogs.com/xiawanxw/p/17207198.html