01 前言
读书笔记停更了一段时间,主要是年前这段时间犯懒了,再加上书中中间讲的是需求、设计、项目计划等工程,这些消化的慢....
昨晚在书中看到了有关代码评审的一些描述,觉得很实用,记录下来。
02 代码评审的意义
其实关于代码评审的意义,在很多软件工程的考试题中都会涉及,我本人以前对于代码评审的意义归结为以下两点:
1-提前发现代码中存在的问题并解决
2-保证代码风格、规范的统一
书中提到的代码评审有以下几个特点及意义:
1-发现缺陷的时机提前了,只要编写了代码就可以评审
2-发现缺陷的效率更高(据说是人工测试的3-5倍,这一点持保留态度,因为没经历过这么正式的评审)
3-发现缺陷的能力强
4-类似于一种白盒检查,可以发现内部实现逻辑的深层次关系
1、3、4点我个人是非常赞同的,不过第2点因为本人从来没有经历过这么严格高效的评审,这一点等待以后有机会认证。
03 代码评审的一些最佳实践
我曾经经历过这样尴尬的场景。
一开始推行代码评审的时候,大家兴致很高,可是过了一段时间,新鲜感消磨后,评审越来越流于形式了,甚至,有些团队就不做了。
我个人也经常思考,为啥会这样,我觉得任老师的书中的几条实践还是给了我方向
最佳实践1:坚持使用代码评审检查单,不断细化,更新,总结,归类
最佳实践2:轻量级的评审更高效,提倡每次审查200-500行代码,多次审查
最佳实践3:建立量化目标,收集目标数据
最佳实践4:建立代码评审的文化,如将代码评审点做成鼠标垫发给每个开发同事,如结对走查,固定时间评审等
最佳实践5:引入静态代码扫描工具
以上5点结合目前我们的实际工作中的代码评审,想想要改进确实是这么一回事。
04 代码评审检查单(参考)
书中提到的代码评审检查单,个人觉得挺实用,贴出来共享。