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