虽然代码审查在专有软件开发公司中很常见,但开源软件开发的性质通常使得标准化的代码评估难以实现。因此,开源社区中成功的行业领导者或项目经理经常采用同行评审技术作为其开发周期中质量控制的标准。
一个标准的开源同行评审流程的例子始于软件作者将其代码和文档提交到其项目的邮件列表。然后,其他贡献者和项目经理会对其进行检查;在更改被接受或拒绝之前,社区和作者之间会讨论潜在的问题和改进。GitHub 使用版本控制软件 Git 来提供一个简化的系统,项目经理可以在其中监督其源代码,同时仍然允许代码审查。由于其易用性,截至 2011 年,GitHub 已成为版本控制和代码审查的热门主机,拥有超过 2,000,000 个存储库上传到该站点。
虽然开发人员可以使用工具来进行质量控制,但规模较小的项目的代码审查技术的水平往往被忽视,这导致了混乱且未经检查的补丁发布。更成熟的开源项目不太容易出现这些问题,因为他们的开发人员可以使用明确的指南。即使较小的开发团队确实使用了软件同行评审,结果也几乎不统一。正如 Peter Rigby 在他的论文“开源软件项目中的同行评审:参数、统计模型和理论”中所述,“我们发现 OSS 同行评审是由被授权的专家异步进行的,他们专注于其专业领域内的更改。审阅者对小的更改提供及时、定期的反馈。描述性统计清楚地表明,OSS 评审与传统的检查截然不同。”
证据表明,同行评审可能是发现软件缺陷的最有效形式。在“代码大全”中,作者 Steve McConnell 指出,代码审查在确定软件缺陷方面的有效性比标准单元测试高出 30% 到 35%。开源开发为项目新成员提供的一个优势是,审查代码对于不熟悉的开发人员来说是同时在项目中变得高效以及融入社区文化的一种简单方法。这也使得项目的整体知识在程序员团队中传播,而不会稀释社区的优先事项。
开源开发团队需要专注于改进其同行代码审查方法,或开始制定软件评估程序。幸运的是,有很多关于此活动的文档可供参考。有关软件同行评审的重要性和改进的文章是很好的资源;我喜欢的一篇是:同行代码审查的 11 个最佳实践,作者是 SmartBear Software。它简要总结了软件同行评审的基本原则。虽然这篇文章并没有特别深入地介绍代码评估指南的具体细节,但它确实提供了一个简短的“经验法则”原则列表,以指导开发人员采用更精简和有用的代码审查技术。
随着开源软件越来越成为专有软件的流行替代品,必须改进产品背后的开发能力,以提高社区的可靠性。采用更充分和标准化的同行代码审查技术的团队生产的软件会产生更用户友好和可靠的程序。确保标准化的质量控制方案所需的时间值得换来更完善的产品。
7 条评论