我需要提出一种更好的方法来管理我的实用程序功能。目前,功能从其他项目粘贴到需要它们的解决方案中。绝对不是要走的路。这是一个巨大的PITA!由于各种原因,当这些功能随时间变化时尤其痛苦。
我想我想创建一个项目“GenFunc”并将我所有的通用实用程序放在该项目中。然后当我需要使用这些函数时,从我的其他项目中引用GenFunc的输出。这需要我遵守规则并努力在GenFunc中创建所有通用功能,但这样可以避免我一直复制和粘贴代码。
我建议的函数类有什么缺点?
我想有多个库 - 数学,字符串操作,数据,工程等等。
你如何处理这种情况?我们都有非特定项目的实用程序库,对吧?
答案 0 :(得分:3)
是的,拥有“实用程序”项目非常普遍。在大多数地方,它只是一个项目 - 不分为数学,字符串操作等。如果它变得非常大可能有意义,但对于大多数地方单个库工作得很好,只需在项目中使用适当的命名空间来分割功能了。
我遇到的唯一缺点就是版本控制 - 如果您有不同的项目使用不同的版本,您需要始终绝对向后兼容,或者每个版本都需要构建/发送完全正确的版本项目,这可能很烦人。
答案 1 :(得分:0)
你可以做的就是拥有所说的函数库,然后将它专门复制到你的项目中,除非你可以设计所说的函数而不需要从版本到版本的微小变化。
通过这种方式,您可以随时确保使用正确的版本。至少在java中,您还可以编写类,然后在需要覆盖特定方法时对其进行扩展。
答案 2 :(得分:0)
如果您的源代码控制存储库支持分支,那么您应该考虑将新库添加到源代码管理并将其分支到需要引用它的任何解决方案中。
这在版本控制方面提供了优势。负责参与库的项目的团队可以决定他们要编写代码的版本以及任何升级的时间。他们可以按照他们决定的时间表将所需的库版本合并到他们的分支中。
这也可以反过来。您可以选择将对项目范围内的库所做的更改合并到库的主分支中,以便其他项目可以访问它们。
您可以在Patterns& amp; amp; amp; amp; amp; amp; amp;实践here。