1

我们有一个为我们自己的公司实施的应用程序。随着时间的推移,该应用程序已被多家公司购买。

对于每家公司,我们在源代码控制中创建了一个新的 TFS 分支。并且每一项都针对特定的客户要求进行了更改。

这就是为什么源代码现在有很多版本的原因。进行更改变得如此困难,因为如果更改来自通用结构,则需要为每个分支单独实施和测试。

管理源代码的最佳和常规方法是什么?

是否建议有一个可以在每个客户的系统上运行的单一解决方案。

4

1 回答 1

3

有几种方法可以处理客户特定的定制,其中包括:

  • 为每个客户保留一个完全独立的分支,并最终在分支之间合并代码。这是您现在部署的解决方案。
  • 以您拥有独立于客户的“内核”的方式构建应用程序,该“内核”具有可插入的自定义挂钩。只有定制将保存在单独的独立存储库中。
  • 将自定义项放入通用应用程序并使其可配置(“开/关”)。

采取哪条路线取决于应用程序的性质和每个客户的定制量。如果上下文允许,由于手动合并、错误修复和测试开销,单独的分支是最不利的。

在特定行业(电信计费系统)中,我见过所有这三个:使用专用代码分支的供应商,其他具有可插拔定制和可配置现成产品的供应商。当然,每个供应商都有不同程度的定制灵活性、产品化程度和集成方法。

作为软件供应商,最大的权衡是在定制灵活性水平与产品化水平之间取得平衡。

于 2012-12-14T13:41:53.857 回答