IT技术互动交流平台

程序员如何进行代码评审,谷歌公司是这样做的

发布日期:2019-10-06 14:15:13

不知不觉,国庆已经过去了一大半了,昨天看了谷歌最近发表的一篇关于CodeReview的文章,叫做如何进行CodeReview分享给大家。

程序员如何进行代码评审,谷歌公司是这样做的

设计

进行CodeReview的时候,最重要的,就是看变更的总体设计。我们需要有一个代码变更列表,看看每一处变更是否有道理,每一处变更是否起作用。变更是在哪里进行变更的,逻辑层、服务层还是存储层。代码在这里变更合不合适,能否放到更合适的地方。

功能

当我们进行代码审查的时候,需要思考,这些变更是否让功能真正实现了,并且这些变更也是比较友好的,容易维护的。同时,我们应该确保新增的功能是正常运行的,我们需要思考业务有没有边界场景,需要思考有没有并发问题,确保代码没有bug。

当我们的代码变更设计到UI变更的时候,我们可能很难一下子从代码里面看到新页面的样子,这个时候我们需要发起代码变更的人提供一个Demo,或者提供UI出现的路径,以便我们看到。

代码的并发问题是非常难从代码里面看到的,我们很难从代码里面看到是否会出现死锁或者并发冲突,同时,这些并发问题也不是简单的把程序跑起来就能找到,我们需要代码审查人进行更深层次的思考,同时,开发同学也精良避免使用一些有并发问题的模块。

复杂度

我们需要看到每一次代码变更是否过于复杂,可能是方法过于复杂,也可能是类过于复杂,复杂以为这别人很难阅读懂这段代码,很难进行维护。这意味着别人改动这个代码非常容易出问题。我们经常在代码里面进行过度设计,开发人员经常在代码里面添加一些不必要的方法,代码审查人员需要警惕过度设计,让当次的开发人员用更简单的方法进行实现。

测试用例

在一些国外公司,测试用例也是需要进行代码评审的,我们要注意到,每一个测试用例是否有用的,是否正确,能否覆盖到代码的所有场景。测试代码也是经常需要维护的,要把不同的场景搞成不同的方法,不要让测试代码过于复杂,后期更难维护。

命名

要求代码评审的程序员需要时刻注意到代码的命名,无论是方法,变量,还是类,如果命名难以理解或者容易混淆,应该进行改正。

注释

代码开发人员应该在代码无法清晰解释意图的时候,写下注释。注释会解释为什么这个代码要这么写。代码审查人员应该注意代码的注释是否跟代码所表达的意思一致。同时应该确保所有的TODO注释都被删除。

程序员如何进行代码评审,谷歌公司是这样做的

风格

像谷歌这样的公司,有着自己的代码风格,应该按个遵循这种风格。如果你有一些代码不遵循这样的风格,最好在前面注释下原因,如果你要格式化文件,应该把格式化文件跟代码变更分离开来,提两个不同的CodeReview单。

仔细阅读每一行代码

仔细阅读每一行代码,特别是文件读写,大数据,与类初始化,这些开销较大的代码要值得警惕。不要只是粗矿地阅读下函数名,感觉调用链路正确而不去阅读每一行代码。审查的程序员要理解每一行代码做的是什么。

可能你会觉得代码审查非常地浪费时间,同时也是非常地困难。但是,谷歌公司招收的每一个软件开发者,都是非常优秀的,如果你无法做到这一点,说明你的能力可能不符合公司的的要求。

程序员如何进行代码评审,谷歌公司是这样做的

其他

如果在阅读代码的时候,看到不错的代码,应该赞赏,代码评审不是为了发现别人的错误,也是提升自我的一个地方。

总结

做好一个代码评审你需要注意的是:

  • 代码设计得非常好
  • 代码对其他维护的人都比较友好
  • 如果UI有变更,保证UI看起来是对的
  • 没有并发问题
  • 没有过度设计
  • 有足够的单元测试
  • 测试用例是正确的,覆盖完整的
  • 代码命名清晰规范
  • 代码注释非常有用并且容易理解
  • 代码风格与以往的较为一致。

好了,以上就是谷歌发表的如何进行CodeReview的大部分内容。欢迎大家关注我,共同学习,共同进步。大家的支持是我继续唠嗑的动力。同名公众号(沙茶敏碎碎念)

延伸阅读:

Tag标签:
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规