代码审查可以在代码上库前避免很多问题,或是一些低级问题或是设计上的问题,我们熟知的开源项目git,linux都在坚持代码审查,源代码不能私自修改提交项目代码,而是需要将patch邮件发送给对应的负责人,负责人审查通过后才会合并,而Gerrit是一款基于web界面用于代码审查的工具。一款好的工具首先是能够提供完整功能,更重要是围绕这个功能提供一套方便快捷,效率高的使用方式。Gerrit就是这样一款好的工具,它提供了代码审查的功能,同时又方便于开发人员,审查人员和项目管理者的合作。
Gerrit部署在代码服务器上,开发者在push修改时,得是先将代码push到gerrit,由审批者审批过后才能真正入库,若是审批不通过则在该修改上评论,便于开发者纠正,修订后重新push直至审批通过。
图1.a central source repository
图1是一个不包Gerrit的代码服务器,开发者和持续集成都是直接从代码服务器拉取或推送代码,意味着开发者可以直接修改服务器上的代码,不利于实现代码审查。