我们有一个为我们自己的公司实施的应用程序。随着时间的推移,该应用程序已被多家公司购买。
对于每家公司,我们在源代码控制中创建了一个新的 TFS 分支。并且每一项都针对特定的客户要求进行了更改。
这就是为什么源代码现在有很多版本的原因。进行更改变得如此困难,因为如果更改来自通用结构,则需要为每个分支单独实施和测试。
管理源代码的最佳和常规方法是什么?
是否建议有一个可以在每个客户的系统上运行的单一解决方案。
我们有一个为我们自己的公司实施的应用程序。随着时间的推移,该应用程序已被多家公司购买。
对于每家公司,我们在源代码控制中创建了一个新的 TFS 分支。并且每一项都针对特定的客户要求进行了更改。
这就是为什么源代码现在有很多版本的原因。进行更改变得如此困难,因为如果更改来自通用结构,则需要为每个分支单独实施和测试。
管理源代码的最佳和常规方法是什么?
是否建议有一个可以在每个客户的系统上运行的单一解决方案。
有几种方法可以处理客户特定的定制,其中包括:
采取哪条路线取决于应用程序的性质和每个客户的定制量。如果上下文允许,由于手动合并、错误修复和测试开销,单独的分支是最不利的。
在特定行业(电信计费系统)中,我见过所有这三个:使用专用代码分支的供应商,其他具有可插拔定制和可配置现成产品的供应商。当然,每个供应商都有不同程度的定制灵活性、产品化程度和集成方法。
作为软件供应商,最大的权衡是在定制灵活性水平与产品化水平之间取得平衡。