引言
代码评审是指在开发过程中对代码的质量与效率进行检查。代码评审是所有开发团队都应该有的一个行为,在开发过程中定期的检查代码,有助于提前防止架构异变,提前发现隐藏的BUG,完善设计细节。
代码评审也是个绝佳的学习机会,团队中的个人可以借助这个机会快速的提升自己的研发能力,进而拉高整个研发团队的能力。
关注点
- 正确性。代码的变更部分是否与现有架构建立的模式一直?是否存在与现有模式相抵触的地方?是否需要重构代码,或者采用现成的架构模式?设计模式的选取是否合理?
- 一致性。检查命名。命名是否有意义?是否有晦涩难懂的命名?代码与预期的有多大出入?
- 可测试性。变更部分是否有清晰的单元测试?每一次构建都通过测试了吗?测试是否存在不充分或者不一致的情况?
- 可修改性、可维护性。是否有硬编码的情况?代码是否可以变得更灵活?是否引入了新的未通过评审的依赖?注释是否逻辑清晰?日志打印是否合理?
- 稳定性。异常处理是否前后一致?是否存在错误没有考虑到的情况?是否有重试机制?有没有采用防御性编程的思想?代码是否存在大量占用内存的可能性?算法是否高效?是否在适当的时候使用了线程安全的数据结构?
标准步骤
- 确定参与者,并且提前给出需要评审的代码,告知到所有参与者,提前熟悉代码逻辑。
- 通过远程会议、邮件、面谈的方式组会,持续时间不宜过长,一般控制在30分钟以内,可以跟团队人员做好约定定期开展。。
- 快速阅读变更集,对变更范围形成整体印象。
- 各参会人员发表意见,重点检查设计细节、代码风格、缺陷,并做好相关记录。
- 自由讨论时间,通常架构级别的问题需要评审结束后进一步单独组会讨论。
- 回顾评审结果,确定修改内容与截止日期。
建议
- 每次代码评审时间不宜过长,30分钟以内。
- 每次代码评审的量不宜过大,千行以内。
- 尽量借助Git等版本控制工具。