我的产品有几个客户。目前,该产品在外观和功能上对所有产品都是相同的。我需要实现一些称为beta功能的新功能,并将其仅提供给部分客户,其余客户将使用较旧的版本及其维护请求也将完成。我不想为此重复整个解决方案。解决此问题的最佳方法是什么?维护visual studio configuration manager
和#if
的解决方案是唯一的方法吗?
答案 0 :(得分:2)
如果计划将beta功能最终推向所有客户,这听起来像是版本控制分支问题。使用像Git这样的现代版本控制系统,您可以创建beta branches来处理不同的开发路径。
在维护期间继续进行主开发分支时,可以创建功能分支,在其中向某些客户实施beta功能,最后将它们合并到主分支中。
如果您尝试通过#iffing
源代码在单个分支中处理此问题,则您选择了容易出错且难以扩展的复杂路径。