原文地址:http://sophiebits.com/2018/12/25/why-review-code.html
作者:Sophie Alpert
发布时间:2018年12月25日
最近一个朋友问我为什么代码审查很有价值?至少大多数硅谷科技公司在每一次变化时都做代码审查,以获得至少两双眼睛去监控代码变化。在我以前的工作,我们在一段时间(很短)选择了做代码审查,然后一个来自 Google 的雇员加入了我们并且激励我们审查我们所有的代码。这是一个很好的建议。
如果您做的正确,代码审查不会感到繁重。您和您的审查者不是对手;您们一起工作来构建最好的软件。重要是不要采用反馈-即使您的代码需要改变,这并不意味着您是有问题的。得到反馈是正常的,并且这会帮助您成长!
有些公司有着复杂的规则关于多少人必须审查每一份代码,严格规定每一部分代码的责任人。我认为那完全没有必要;我更倾向于一个仅仅规定每一部分代码必须有人去审查的简单的系统。在实践中,您仍然会将评论发送给相应的代码责任人,但是好的地方在于它没有硬性要求。
这是我认为审查代码是有价值的最大的几点原因。
从代码本身来看,代码审查最明显的价值往往是“发现错误”。或者如果您再看的长远些,在那些作者不知道的最佳实践或者潜在规则的情况下,代码审查者可以通过反馈来帮助实际的代码变得更好。
宏观层面上的知识共享。当您审查其他人代码时,您往往会学到新技术,这会使您未来收益-反之亦然,如果在您的代码被审查时某个人建议一种更好的方法去做一些事。如果您可以把您学到的东西在未来使用,您将成长为一名工程师。
微观层面上的知识共享。通过增加那些熟悉任何代码的人员来减轻“总线因素”。
共享正确的方向。其次,代码审查迫使您与队友沟通您在做的事情,这有助于确保您在短时间内不会走向错误的方向,从而给他们回退代码的机会。
沟通练习。无论是在团队内或者团队外,清晰的沟通是成功工作最重要的技能之一!代码审查给您一个机会在无论是在描述更改的目的或者给一个反馈时去练习清晰的写作。
历史记录。根据我的经验,当人们知道有人在阅读信息时,他们往往会写的更好。当回顾旧的更改记录时这通常是有用的。
关于要讨论的东西。当您试图同意做什么改变,有时候很难口头描述和同意的具体细节或者一个特定的算法,通过一段代码描述可以更加精确。因为代码往往是明确的。
团队凝聚力。当您定期做代码审查时,工作感觉有点像一个单一的团队一起工作,而不是每个人在自己的轨道上运行。
阅读练习。练习阅读别人的代码可以帮助您记住如何使自己的代码更加具有可读性(可维护性)。这将会使好的代码在以后永远持续下去!我认为2,5,6三个原因是最有价值的。