Architecture 合并核心库
大约一年前,我们公司推出了一个相对较大的软件包,主要由两名高级开发人员编写。为了便于演示,我将其称为“项目A”。从那时起,我们一直在开发一个新的软件包“ProjectB”,在它的树中是ProjectA的一个分支 项目B引用了项目a,但现在我们接近项目B的结尾,我们还需要引用a中的B。因此,在合并a的分支之后,在与B一起使用之前,我们希望在两个项目之间合并核心库 您在这种情况下有哪些经验?这个项目有哪些最佳实践和经验教训?我们如何最好地合并核心库,而对项目A中的其他源代码影响最小 编辑: 您对保留项目A的名称空间,但将代码定位到项目B的核心库(最终将成为公司的核心库)的可行性有何看法?从这里开始,只需在遗留项目中引用新的公司核心库 编辑2:Architecture 合并核心库,architecture,codebase,Architecture,Codebase,大约一年前,我们公司推出了一个相对较大的软件包,主要由两名高级开发人员编写。为了便于演示,我将其称为“项目A”。从那时起,我们一直在开发一个新的软件包“ProjectB”,在它的树中是ProjectA的一个分支 项目B引用了项目a,但现在我们接近项目B的结尾,我们还需要引用a中的B。因此,在合并a的分支之后,在与B一起使用之前,我们希望在两个项目之间合并核心库 您在这种情况下有哪些经验?这个项目有哪些最佳实践和经验教训?我们如何最好地合并核心库,而对项目A中的其他源代码影响最小 编辑: 您对保留
谢谢你的回复。也许需要更多的技术澄清。这两个项目密切相关,但每个项目都有自己的核心库.NET类库项目。除此之外,每个库都被其他各种.NET项目引用;内部和外部Web应用程序、表单应用程序等。我更多的问题是源代码应该存在于何处-我不认为它们应该保持两个独立的.NET项目,但单个项目同时包含这两个项目,最初保留现有的名称空间。在我们继续开发的过程中,我们将进行重构、合并名称空间、清除重复的功能等。毫无疑问,两个现有库中包含的功能在未来的项目中都会很有用,而且还需要在两个现有“核心”库之间共享库。我认为这在很大程度上取决于语言、环境和库的类型(动态/静态链接)。你认为会有什么问题
- 冲突标识符
- 重复功能
- 对构建过程的更改
- 集成/单元测试
老实说,我认为在项目中,您的程序集和名称空间只需要是唯一的。因此,如果有两个具有相同命名空间的程序集版本。。。其中一个必须离开。是的,循环引用是最初的关注点。尽管这些项目是分开处理的,但它们是非常相关的,必须紧密结合在一起。我相信名称空间中实际上会有最小的重叠,更多的前缀肯定是答案。