本节讨论软件构建的最佳实践。构建是指为软件版本创建应用程序二进制文件的过程。构建由构建团队定期执行,以便为日常工作提供基线二进制文件。
这种格言的一个变体在开源社区中流传已久,被称为“尽早发布,频繁发布”,尽管原因不同。BEBO 帮助开发团队识别因检入错误文件而可能出现的问题。BEBO 将解决可能在个人开发者构建中被忽略的应用程序级别的集成问题。当团队看到应用程序的工作版本时,它还将提高团队士气。
构建必须定期进行。应该分配专门的资源来执行相同的操作。必须对整个项目团队进行培训,将每日构建视为一项重要的活动,而不是一项苦差事。构建必须定期完成,且不得有任何失败。构建失败必须是罕见事件,应极其严肃地对待。项目团队应确保成功的构建是其议程中的首要任务。可以通过设置破坏构建的惩罚来强调其严肃性。
每个构建都可以在 CVS 中使用标准命名约定进行标记。这可以帮助开发人员从每日构建中检出整个系统的工作版本以进行本地开发。
软件构建的另一个关键实践是完全自动化构建过程。自动化过程还必须包括从 CVS 存储库自动检索正确的源文件。这确保了构建过程是完全可重复和一致的。此外,使用错误版本的应用程序源文件进行构建的可能性大大降低。
通过自动化构建过程,构建任务通常变得不那么繁重。
这句格言乍听起来微不足道,但由于疏忽,即使是经验丰富的开发团队,这个问题也很常见。疏忽问题不容易解决,因为责任在于每个开发人员,以确保他或她的文件已检入。应以培训和构建前公告的形式向团队反复强调这种做法,以确保存储库中提供正确版本的源代码。
如上所述的自动化构建过程将在一定程度上帮助发现此问题,因为它们将自动从 CVS 存储库中获取源代码并执行软件构建。任何遗漏的项目都将在构建过程本身(例如 makefile)或产品回归测试期间(检入的旧版本文件)浮出水面。
可以建立基于惩罚的系统来处理错误的检入。设立一个项目后聚会的奖金池,每个错误检入的人都将贡献固定金额,这将是一个很好的惩罚系统。