正文
不管你是通过像 Upsource 这样的工具还是同事的讲解来审查代码,有一些东西是比较容易评判的。比如:
-
格式:空格和换行在哪里?他们使用的是 tab 还是空格?大括号怎么布局?
-
风格:变量/参数声明为 final ?方法变量是在使用时再定义,还是在方法开始的地方定义?
-
命名:字段、常量、变量、参数、类的命名遵循标准了吗?名称有过于简短吗?
-
代码覆盖率:这段代码有写测试代码吗?
检查这些东西都是有意义的--你希望把不同代码之间的切换最小化并且减少
认知负担
,所以你的代码看起来越一致越好。
然而,在你的团队中,使用人力检查这些也许不是对时间和资源的最佳利用,因为很多这样的检查都可以自动化进行。有很多工具可以保证:你的代码格式连贯一致,遵循命名标准和使用 final 关键字,并且可以发现一些简单的编程错误导致的 bug。例如,你可以通过命令行使用
IntelliJ IDEA 的检查
,所以你不必要求所有的团队成员都在他们的 IDE 中运行检查。
人类真正擅长的是哪几类事情?什么是东西是我们在代码审查中发现但是检查工具发现不了的?
事实证明有很多事情。这当然也不是一个详尽的清单,我们也不会在这里就某一项进行详细讨论。然而,你的团队应该就代码审查应关注什么,展开交流,并且也许是你应该关注的。