程序员

关于代码审查的一点体会

2020-10-10  本文已影响0人  孟康健

为什么做

当前代码审查应该是所有团队的标配,只是有做的深入与否、效果好坏之分。如果你加入一个研发团队后,发现没有代码审查,那我的建议是:

关于代码审查的好处,主要有:

怎么做

一提到代码审查,可能大家想到的就是一堆人在一起,对着屏幕上的代码指指点点。其实代码审查是一个系统工程,要想做好,必须不断投入,把控好每个环节,并且不断更新

设定规则

说到规则,可能会有人比较反感,认为太多条条框框会限制创造力,我遇到过因为这个而辞职的人。其实好的规则,不仅不会限制创造力,反而是提高创造力的最佳工具。这里面有一个原则是:

==规则要切合团队实际,一定是切实可行==

建议制定的规则包括:

  1. 代码规范。 可能很多人都会阿里的代码风格规范。我建议作为开发人员,需要仔细阅读下这个规范,并且确认规范里的每一条都适合你的团队。如果不合适,那就提取需要的,或者制定一套公司自己的代码规范。当然这个规范也不能太特立独行,否则新人的融入可能是一个大问题。
  2. 审查流程。 如果想做好代码审查,就要把它作为开发流程中的一个必要环节,并且是不能跳过的。
  3. 审查标准。 没有标准,那么每个审查都会按照自己的理解,给被审查的代码加评语,那么很难提高团队整体水平。

借助工具

工欲善其事,必先利其器。
这里推荐一个“极其不好用”的好工具——Gerrit,这是Google开源的一个代码审查工具,具体使用方法,我就不再介绍了。作为一个代码审查的工具,绝对是好用的。

先说几个优点:

至于不好用的地方,可以慢慢体会。

另外,要把工具的能完成的事情,交给工具来做,比如通过Jenkins做代码的静态检查、跑单元测试等,只有通过工具检查的提交,才能进入到人工审查环节。

==能工具化的,一定要工具化==

单人与团队

这里主要说的日常行为和非日常行为。如果借助Gerrit,我们可以要求每次提交必须经过:Peer +1、Lead/Arch +2、CI验证等多个环节才能合并到主干分支中。也就说Peer Review是日常行为。

因为Peer Review可能会失去一些全局信息,所以建议还要定期做Team Review。在做Team Review时,每次只看一个或者两个人的代码,要有完整的逻辑,从头讲到尾,在这个过程中,参与的人可以提出问题和改进意见,会议结束后作为改进项。

迭代更新

一个团队开始做代码审核后,就一定要防止流于形式,更要防止例外情况。
每个团队成员的水平都不一样,建议考虑以下几个方面:

写在最后

总之,代码审查不是看看代码那么简单,而是一个系统工程。

上一篇下一篇

猜你喜欢

热点阅读