每个人都承认代码审查(Code Review)的花销大,而且又耗时,特别是当大家忙完软件项目又把它送去软件测试部门时。对一些开发人员来说,它更是会引发更多的办公室政治和流言蜚语。
一次代码审查可能会使代码逐渐得到改进。如果你认为你从有效的代码审查中只是稍微改进了一下软件,那你需要再想一想。以下五点易忽视的原因会给你些许启发。
1. 开发人员若得知他们的代码会被评估,他们会更加努力工作
对代码审查最有用的是让程序员知道他编写的代码会被审查。这就像一次内容为400级运算的期末考试。参加考试与否并不重要,因为考试的目的是学会运算。
这个道理也适用于代码审查。计算机程序员对自己编写的代码总是相当自信。程序员之所以熬夜工作,是因为他们真正热爱自己的其工作,而不是出于金钱或其他目的。因此,代码审查可以直接影响开发人员的成就感。
程序员不希望有任何针对他代码的批评,所以一旦知道代码将被审查,就会采取额外的努力做好工作。实际上,代码审查通常不能发现什么的。但是,如果知道有人要审查编码,那么在编辑过程中程序员就会尽可能做好。
2. 代码审查可以改进开发人员的编程技术
在你的心里,你可能不会太在意某一特定软件项目的成功。但是,大多数程序员想要改善他们的技术,这意味着向其他人学习。没有比代码审查更好的学习机会了。
例如,从一个优秀的开发人员的编码中,你能更清楚地了解编程语言可以做什么,你将学会编写更有效的代码,并找到更多可用于组织代码的模式。
代码审查能帮助团队成员从彼此的错误中汲取经验,并成为更好的程序员。通过简单的反馈意见,公司可以提高其开发人员的水平。开发员重视审查,因为他们知道这将帮助他们成长。当代码审查以小组为单位进行时,整个团队都得以提高。但更好的是,代码质量也得到提升,并易于维护。
3. 代码审查有利于导师制度,程序员们会学到更多
代码审查有助于培训新开发人员并使他们熟悉其他同类模块。审查过程有助于促进思想交流,使代码可重复利用。
代码审查有一个系统的方法,可以为程序员分享团队领导们的经验提供平台。当领导重写某些程序,使程序运行效率在3分钟内提升50倍时,是十分令人振奋的事情!编写其他程序时,你或许就可以找到一些新的方法或创造一种新的解决方案了。
4. 代码审查可以实现优质文化的传承
代码审查的目的是提供巨大的机会。代码审查让代码库和编码团队都有机会发展一种连贯性和可靠性。它把有经验和专业知识的团队作为整体加以利用,程序员可以磨炼他们的专业技能和经验,同时以他们的经验和专业知识为公司和团队服务。这使该公司的投资得到有形的回报:愉悦的程序员以及工作代码的能力和一致性不断获得提升。
代码审查有助于创造一种微妙的变化,因此,管理好和做好代码审查可以很大程度上改善软件质量。开发人员会对审查中有出错的数据的判定迅速给出抱怨,但我们必须改变规则,要将优质高效发展作为衡量过程的尺度而不仅是价值传递的里程碑。
5. 代码审查可以激发团队凝聚力
人们认为代码审查仅仅是寻找漏洞,但它却能把人团结在一起,它可以提供的远远超过你所预期的。
又很多这样的例子在执行代码审查时发生,但是最好的成功模式是在一个团队成形时就开展审查。你从事某个项目的时间越长,所创建的代码质量就越好。这是因为所有的代码审查过程和管理在项目开始时就开始了。