技术也要去运维Android知识程序员

代码审查应该关注什么

2017-05-17  本文已影响1796人  唐先僧

本文是“代码审查关注什么”系列文章的第一篇(共六篇)。

我们一起来讨论下代码审查。如果你花几秒钟时间搜索一下代码审查的信息,你会发现很多文章都在讲为什么代码审查是件好事(比如Atwood 的这篇博客)。

你也会发现很多关于如何使用代码审查工具的文档(比如我们自己的 Upsource)。

然而你很少会发现一些指南,会告诉你作为代码审查者在审查别人代码时需要关注哪些东西。

之所以没有权威的文章告诉你在代码审查中需要关注哪些东西,其原因可能是:有太多不同的事情需要关注。并且,像其他的需求(功能性的或者非功能性的)一样,不同的团队对每个方面有不同的优先级。

因为这是一个很大的主题,本文的目的仅仅是列出大纲,用于说明作为代码审查者在审查代码时需要关注的东西。决定各个方面的优先级并不断的检验也是一个非常复杂的主题,本身就可以单独写出一篇文章。

当你在审查其他人的代码时,你在关注什么?

不管你是通过像 Upsource 这样的工具还是同事的讲解来审查代码,有一些东西是比较容易评判的。比如:

检查这些东西都是有意义的--你希望把不同代码之间的切换最小化并且减少认知负担,所以你的代码看起来越一致越好。

然而,在你的团队中,使用人力检查这些也许不是对时间和资源的最佳利用,因为很多这样的检查都可以自动化进行。有很多工具可以保证:你的代码格式连贯一致,遵循命名标准和使用 final 关键字,并且可以发现一些简单的编程错误导致的 bug。例如,你可以通过命令行使用 IntelliJ IDEA 的检查,所以你不必要求所有的团队成员都在他们的 IDE 中运行检查。

你应该关注什么?

人类真正擅长的是哪几类事情?什么是东西是我们在代码审查中发现但是检查工具发现不了的?

事实证明有很多事情。这当然也不是一个详尽的清单,我们也不会在这里就某一项进行详细讨论。然而,你的团队应该就代码审查应关注什么,展开交流,并且也许是你应该关注的。

设计

可读性和可维护性

功能性

你有考虑过。。。?

敬请期待后续文章,我们将详细讨论这些主题。

本文译自What to look for in a Code Review

上一篇 下一篇

猜你喜欢

热点阅读