你应该做过代码审查。为什么?因为它能提高代码质量并降低错误率。但这不一定是你所认为的原因。
因为他们此前可能有一些审查的坏习惯,很多程序员都讨厌代码审查。我曾经在的单位都是等到产品上线部署之前才开始正式的代码审查。通常都是由架构师或者开发负责人做审查工作,一种站在整体框架审视所有的行为。这是在他们的软件开发流程手册中规定的,所以任何程序员都必须遵守。这可能是一些机构严格且正式的流程制度,但大多得不到执行。在很多机构中这项方案往往适得其反。审查员们会感觉像是被假释委员会裁决一样。审查员要同时抽空去阅读代码并抽空掌握系统中的所有细节。这些审查员很快就会变成该流程上的瓶颈,进而整个流程开始僵化。
代码审查的目的不是简单地纠错,而是应该分享知识并建立通用的编码指南。和其他程序员分享你的代码可以实现代码集体所有权。让团队里任何一个成员能够和其他成员一同浏览代码。通过尝试学习和理解来审查代码,而不仅仅是寻找错误。
代码审查时要尽量平缓。确保其评价具有建设性,不要尖酸刻薄。审查会上要以审查角色来向他人介绍,避免资历较老的人给团队其他人带来代码审查压力。这些角色可能会包含一个文档审查、异常审查、功能性审查等。这个方案可以帮助团队成员分担审查负担。
每周定期进行代码审查。花几个小时开发审查会议。每次会议都以轮流的方式担任审查员。记住要每次在团队中挑选的都是审查角色。让新人也参与代码审查。他们可能缺乏经验,但他们生涩的大学知识能够带来不同的视角。让专家提供他们的经验和知识。他们可以更快更准确地鉴别容易出问题的地方。如果团队有利用检查工具的编码约定,那代码审查将变得更容易流动。这样,关于代码格式的问题永远都不用带代码审查会当中讨论了。
让代码审查变得有趣或许是成功的最重要因素。审查是关于人的审查。如果审查会议是痛苦且呆板的,将很难调动大家的积极性。让其成为非正式代码审查,让团队成员都能从中分享知识。把任何讥讽的评价都抛开,然后带上蛋糕和棕色带午餐(一种自备的非正式午餐,边吃边交流)。