Code Review的7个最佳实践

cceh1680 8年前
   <p style="text-align:center"><img src="https://simg.open-open.com/show/c3bc98a9d8450191eab8972f64743578.jpg"></p>    <p>成为一名好的代码审核人员并不是一件容易的事情。4个月前,我突然意识到我需要提高自己的代码审核能力。以下就是一些我觉得非常实用的技巧。</p>    <p>1. 在团队中明确审核目标</p>    <p>你应该花时间和团队中的每一个人谈谈你对代码审核的目标,对代码的要求。假如你在进行代码审核的时候所追求的是代码样式的连贯性,而团队中的其他人以为你是在寻找bug,那么你们之间将很难良好的进行合作。只有所有人都明确了目标之后,你们才能让工作更有效率。</p>    <p>2. 运行应用,尝试使用各种功能</p>    <p>阅读代码并不是与应用进行互动的好方法。如果你想要通过阅读代码来找bug,那么你必须要有多年的经验。真正好的代码审核,应该是让代码运行起来。在运行应用的时候,你很有可能找到一些代码作者忽略的东西。</p>    <p>3. 方法调用等级可视化</p>    <p>我经常发现自己会忽略一些细节,因此我需要找到一种方式来强迫自己更深入的理解代码。有的时候,我会通过涂鸦来画出方法与方法、对象与对象之间的关系,例如哪种方法使用了其他的哪个方法,我发现这种可视化的理解方式非常有效。</p>    <p>4. 收到请求后立刻进行审核</p>    <p>只要看到团队成员发来的审核请求,我都会立刻开始审核。你的同事将会非常高兴,而他们的配合也能让你成长的更快</p>    <p>有的时候你可能很难立刻完成审核工作,例如改动很多的情况下。如果你发现自己无法快速完成审核,你可以使用下面两个小技巧:</p>    <ul>     <li> <p>设定时间,例如半个小时。在刚开始的时候,你应该尝试去理解代码中的变更,然后写下问题。半个小时之后,如果你觉得这些代码可以通过,那就通过。如果你觉得还有问题,那就给代码作者写一封邮件,把你的想法和问题写出来。</p> </li>     <li> <p>在你的电脑上安装两个独立的repo,一个用来储存你自己做出的变更,另一个用来储存你正在审核的代码。这样一来,编译其他同事的代码的时候,就不会影响你自己的代码了。</p> </li>    </ul>    <p>5. 阅读代码之前,先想想你自己会对原代码做出什么样的变更</p>    <p>先阅读功能描述,然后做一个列表,上面写下你希望对哪些文件做出变更。然后再阅读代码作者提交的文件,看看和你预想的是否一致。如果他们做的和你想的不一样,试着找到原因。</p>    <p>6. 在真实开发环境中审核变更</p>    <p>大多数情况下,Phabricator和GitHub的作用,是让你看到文本之间的区别。而AppCode、IntelliJ和RubyMine这样的编辑器,才能让你看到真正的代码。你应该在自己的电脑上用这些编辑器阅读代码,这样你能看到编译错误、警告和测试失败等信息。</p>    <p>除此之外,你还应该对整个文件进行审核,而不仅仅是存在变更的那一行。这样做能让你确保和变更相关的所有代码都不会受到影响。</p>    <p>7. 除非你能找到bug,否则不要拒绝批准代码变更</p>    <p>当你要求代码作者进行变更的时候,你应该相信他能够胜任这个工作。一些简单的变更,例如对变量进行重命名、或是提取重复方法等,这样的变更你应该直接批准通过。</p>    <p>如果你因为样式不统一等小问题让代码作者等的时间太长,那么从长远来看,代码的质量将会降低,因为代码作者将不愿意对小问题进行修改和变更,从而让代码的可读性降低。</p>    <p>如果你真的觉得某个作者的代码不足以获得批准通过,那你就应该直接告诉对方,然后找一个合适的人来对代码进行调整。另外你还需要仔细,如果你只是忘记了通过某个作者的变更,也许你觉得不是什么大事,但是在代码作者看来,他不知道你仅仅是忘记了点击按钮,他们有可能觉得自己的代码有错误,甚至觉得你不尊重他的工作。</p>    <p> </p>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959732200484900356" rel="nofollow,noindex">湾区日报</a></p>    <p> </p>