我们开发企业软件,我们希望在我们的开发人员之间促进更多的代码重用(为了使这个问题简单,让我们假设所有的.NET)。我们即将迁移到一个新的 VCS 系统(很可能是 mercurial),我希望制定一个策略来共享库。
管理满足以下用例的共享库的最佳流程是什么:
- 黑盒 - 只有库的公共 API 是已知的,并且没有假设消费开发人员将能够“进入”或在库中设置断点。图书馆是一个黑匣子。开发人员通常不关心细节,只需给我一直“工作”的 lib 版本。
- 调试 - 开发人员至少应该能够在开发过程中“进入”库。设置断点也是一个好处。
- 并行开发 - 虽然很可能是少数,但似乎有一些有效的用例可以与消费应用程序并行开发库。库和组件的作者通常是同一个开发者。无论好坏,应用程序和库通常可以紧密耦合。能够对两者进行更改和调试可能是我们开发的一种非常有效的方式。
需要注意的是,求解 3,可能会隐式求解 2。
解决方案可能涉及其他工具(例如 NuGet 等)。