项目设置的最佳实践¶
OpenStack 有许多项目,以至于贡献者的可用性是一个严重的问题。从全新的源代码树到贡献的难度越大,开发复杂的、多服务的特性就越困难。一致的项目设置可以减少这种摩擦,无论是对于新的贡献者还是经验丰富的贡献者。
本文档讨论了 OpenStack 生态系统中常用的工具、库和方法。它从 一致的测试接口 结束的地方开始,解释了指南、最佳实践、经验教训以及常见问题的解答。
避免多语言项目¶
每种编程语言都有为其自身建立的成熟可靠的工具,这些工具基于仅与其自身相关的假设。这些假设很少能很好地翻译到不同的语言,因此在同一个仓库中同时管理它们不可避免地会导致一套工具胜过另一套工具。
其结果是,“主要”语言的工具通常被扩展以提供诸如依赖关系解析、测试框架和资源管理等通常不可用的功能。这带来了两个问题:首先,施加了维护要求,因为这些工具必须得到维护。其次,施加了教育要求,因为寻求在辅助语言上进行工作的工程师必须熟悉一套完全陌生的工具。
将每种语言视为一个单独的项目,同时提供解释这些项目如何集成的文档,这要容易得多,也更不容易出错。
订阅全局依赖项¶
OpenStack 维护着一个全局依赖项及其版本约束的列表,以确保对等库按预期运行。这是根据需要完成的:如果您的项目声明它依赖于一个库,那么每当该库更新时,它将自动收到补丁请求。这还允许我们在发布之前全局冻结我们的依赖项。
遵循特定语言的指南¶
对于特定语言的指南,请选择下面的适当文章。