个人理解,code review有两个作用:
1. 两个人总比一个人想的周全,看问题的角度不一样更容易发现BUG或找到更简单有效的解决方案。所谓旁观者清就是这个道理。
2. 理想状态下团队的每个人都要对项目的每个部分都很熟悉,但当项目很大时这不大现实,通过代码审查至少可以让每个人了解更多的业务模块,同时也能达到人员互备的目的。
同时代码审查要注意如下问题:
1. 审核者与被审核者的不存在能力高低问题。代码审查是为了提高整个团队的能力,而不是针对个体设置的检查“关卡”。“A的代码有个bug被B发现,所以A能力不行,B能力更好”,这是一个误区。
2. 代码审查本身可以提高开发者的能力:被审查者从自身犯过的错误中学习,从他人的思路中学习;审查者从审查的思考过程中学习,从被审查者好的设计中学习。
3. 代码审查不涉及奖惩机制,即便有也是对审查者和被审查者同时的奖励或处罚,也就是说两者要同时对交付负责。