经常有程序员朋友质疑我们公司没有代码评审,的确,我们公司没有代码评审这个流程,乃至于很多时候连测试这一步都省去了!很多人表示不可思议,觉得这样的公司简直就是开玩笑!但事实上,这种“开玩笑”的公司有不少呢!

打开网易新闻 查看精彩图片

代码评审,我的理解就是某个人或者团队之间相互阅读每个团队成员之间写的代码,以发现每个人写出来的代码当中的问题或者亮点,也就是优缺点,不知道这种理解对不对!

代码评审有成本

我第一次知道“代码评审”这个词的时候表示不可思议,也许是没在大公司待过,觉得代码评审这个步骤相对于小公司来说,成本略高!

如果是由研发总监评审每个人的代码质量,那么研发总监是否能忙得过来这是一个问题。如果靠团队互相查看代码以达到相互“借鉴”代码思路的目的,那么就得找个固定时间来做这个事情。

不管怎么样,除非团队里每个人都能抽出时间,否则这种代码评审制度会耽误其他工作比较忙的程序员的时间,这在小公司里是会出问题的。

代码评审其实算是个动词,其中有评价和审查两步动作。如果团队成员代码有问题,且这种问题在团队中是比较普遍出现的,那么可能研发团队就要专门开个会来讨论这个事情,同样的,某个成员代码思路非常好,值得大家借鉴,那么也值得大家坐下来讨论一番。

因此,如果我们在写代码的时候,频繁帮别人找问题以及学习别人的代码思路,其实对于某些工作任务比较重的程序员来说,是会占用到他本来应该用来工作的时间的。

当然,代码评审对于一些能力尚且不够的人来说,是有帮助的,他的问题可以及时被发现以及学到一些靠自己领悟学不到的编程思路,这点否定不了。

正如我所说,小公司搞代码评审,除非大家任务都很轻,否则的话,不是程序员不愿意,而是公司不愿意搭时间进去。

因此我才会说,有些公司为了让研发速度更加快,甚至连测试这一步都可以省!

结论

综上所述,并不是所有公司都有条件去搞代码评审的。

还有一句话叫做“疑人不用”!这是很多小公司的逻辑,也是一些比较爱面子的程序员的逻辑。

基本上,一个程序员的能力怎么样,在程序员入职初期,就会表现出来。这时候研发总监看一看他的代码是否严谨,代码思路是否清楚,就能看出来了,后期也就不需要再去看了。

这不是我的臆测,而是很符合实际情况的事情。

另外,如果靠着团队成员互相看代码以达到代码评审的目的,很容易造成一种“团队成员互相找茬”的情况,今天你找到了我代码中不好的地方,明天我也去找你代码中的茬。

如果一个团队足够和谐,代码评审会让公司代码更健壮,也能让程序员的能力越来越好。但是,出于时间各种考虑,很多公司省去了代码评审这一步!