代码审查:好事?坏事?
在软件开发领域,代码审查看起来是一个少有争议、相当平和的话题。
主流观点普遍认为代码审查是个好东西。有些公司或组织甚至强制要求把代码互审作为必须的流程。
审查是一种捕捉bug和问题的好措施。通过代码审查能够分享领域知识,提高代码质量。代码审查提供了一个对团队进行监控,教育和强化的好机会。
至少理论上是这样的…
当挽起袖子开干,当面对真正的项目计划产生的压力时,代码审查很有可能转而变成一件坏事。
审查是一种能够导致憎恨和分裂的活动。它能使人对编写的代码是否正确产生怀疑,会激起人们为他们自己的编码标准而宣扬说教。代码审查是一种日常活动,它执行的正确与否带来的是团队的开发效率的提升或是扼杀。
对于一个团队,有效的代码审查走的是一条中庸的路线——它既不会成为解决一切问题的银弹,也不会成为伤害团队的毒药。
经过一些思考和跟一些同事讨论之后,我认为,成功的代码审查的关于因素是 信任和训练。
团队成员必须相信,来自代码审查中的反馈意见并不是对个人攻击或对自己能力的评判。审查者必须相信,受审查者不会因为你提出了改进意见而憎恨你。
团队成员必须把代码审核看着是一个能不断得到建设性反馈意见的平台,而不是用来对团队成员评分评级或制造消极激进言论的工具。
当一个团队组成时,信任并不是天生就存在于团队成员中的。
而训练人们如何正确的展开一次代码审查,可以让人们在审查过程中建立信任。
所有我呆过的项目团队中,我发现,学习如何正确的做代码审查的方法就是让大家审查自己的代码。这样之后,你才会知道如何给别人做代码审查!这种方法提供了很多真实情景来解释如何进行代码审查。
训练新手如何正确的提出评审意见,告诉他们应该关注什么才能给有经验的程序员提出有价值的意见。指导团队负责人在合适的时候给予评审者支持,点出有意义的评审意见,这样能强化团队的信任,使团队成员互相尊敬。
那么,代码审查是好事还是坏事呢?
这依赖于你的团队的愿望,是否努力把它变成一种积极的措施。就像对于任何这种开发方法论,简单拿过来用是不行的——你必须保证你在以正确的方式用它。
------解决方案--------------------------解决方案--------------------------解决方案--------------------代码审查是一种头疼医头,脚疼医脚的方法,对整个软件项目质量的改进提升是不大的。
------解决方案--------------------双刃剑,
关键看执行力,
养成习惯就好了。
如果只是流于形式,
哪可以免了。
------解决方案--------------------代码审查还是很必要的。一般是项目经理看,有问题提出来讨论,最后决定是不是改。如果同级的审查,确实会有互不服气的事情。
------解决方案--------------------当然是好事了,等于是敏捷开发里面 结对编程 的弱化版
好的开发人员之间的互相审查,还是能查出问题来的
但是对于项目组来说,我觉得一定要建立好对代码审查者的奖励或者鼓励制度
否则的话,即使我是高手,我为什么帮你审查代码啊?需要激励政策
------解决方案--------------------
个人认为激励不是必须的,进行审查的人本身必须要对该部分代码有质量上的责任
一般来讲,会是小组负责人进行审查吧,当然小组负责人本身水平不行,没有权威的话,是另一个问题
------解决方案--------------------------解决方案--------------------对养成统一的代码风格有好处。
------解决方案--------------------额
------解决方案--------------------------解决方案--------------------------解决方案--------------------周末祝大家 过个轻松愉快的周末
------解决方案--------------------