原文做者:Sophie Alperthtml
译者:UC 国际研发 Jothy前端
写在最前:欢迎你来到“UC国际技术”公众号,咱们将为你们提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。算法
最近有位朋友问我为何作 code review 很重要。 至少大多数硅谷科技公司都会对每个变动进行 code review,以确保至少有两我的看过该变动。 在我以前的工做中,咱们选择性地(不多)进行 code review,后来团队来了一位 Google 的新员工,他鼓励咱们 review 全部代码 - 咱们照作了。 事实证实这是个了不得的决定。学习
若是你按正确的方式 code review,它不会让你以为麻烦。 你和你的 reviewer 不是对手关系,大家是一块儿努力构建最好的软件。(重点是不要太介意反馈(feedback) - 即便你得改动代码,也不表明你有问题。得到反馈很正常,由于它帮助了你成长!)测试
有些公司严格规定了每一段代码必须有多少人review ,以及为每一段代码必须肯定好严格的 owner。 我以为这么作彻底没有必要,我更喜欢简单点的系统,惟一的规则是每段代码都必须有人 review。 在实践中,你仍然得向维护你所改代码的人提交评论,但不作硬性要求会更好一些。翻译
如下是我想到的为何 review 很重要的几大缘由。 还挺多的呢!code
代码自己。 code review 最明显的价值是“发现错误”。 或者若是你再深刻一些,发现了一些做者不知道的最佳实践或潜在规则的 case,你能够反馈给他以改进具体代码。cdn
宏观层面的知识分享。 当 review 别人的代码时,你实际上是在学习有益的新技术 - 反之亦然,可能别人在 review 你代码时给你提了更好的建议。 若是你可以学以至用,你将成为很棒的工程师。htm
微观层面的知识分享。 经过增长熟悉全部代码的人数,来缓和“公车因子(bus factor)”。(译者注:公车因子越大,表明关键人物流失致使项目受到影响的几率越小)get
趋势分享。 相应地,code review 迫使你与队友交流大家正在作的事情,大家能够有机会回滚,这也确保了大家方向的正确性。
沟通实践。 不管是在团队内部仍是外部,清晰的沟通都是成功工做的最重要技能! code review 给了你练习清楚写做的机会,不管是描述变动目的,仍是提交反馈的时候。 并且幸运的话,下次你要写一些“很是重要”的东西时,你会发现本身早就准备好了。
历史记录。 根据个人经验,若是人们知道他们写的东西会有人看,他们会写出更好的 commit 消息。 这在回顾旧变动时很是有用!
能够讨论的东西。 有时候你想赞成某一变动,你会发现很难口头描述以及表达对特定算法细节的赞同。经过一段代码进行交流会更精确些,由于代码每每比较明确。
团队凝聚力。 当 code review 变成常规活动时,你会感受更像是一个团队一块儿工做,而不是每一个人“都在本身的轨道上”。
阅读练习。 练习阅读别人的代码,有助于你把本身的代码写得更具可读性(所以可维护)。 这会让你以后写出更好的代码!
若是非得作个选择,那么缘由 二、五、6 对我来讲多是最重要的。
好文推荐: React 做者关于 Hooks 的深度 issue,值得你阅读
“UC国际技术”致力于与你共享高质量的技术文章
欢迎关注咱们的公众号、将文章分享给你的好友