2009-12-28 42 views
2

我需要想出一个更好的方式来管理我的效用函数。目前,功能从其他项目粘贴到需要它们的解决方案中,因为它们是需要的。绝对不是要走的路。这是一个巨大的PITA!当这些功能由于各种原因而随时间变化时特别痛苦。如何组织实用功能库?

我想我想创建一个项目“GenFunc”,并将所有通用工具放置在该项目中。然后,当我需要使用这些函数时,从我的其他项目中引用GenFunc的输出。这需要我遵守纪律,并努力在GenFunc中创建所有通用函数,但它会使我无法随时复制和粘贴代码。

我建议的函数类有什么缺点?

我想象有多个库 - 数学,字符串处理,数据的东西,工程材料等

你是如何处理这种情况?我们都有实用程序库,不是开发项目特定的,对吗?

回答

0

如果您的源代码控制库支持分支,那么您应该考虑将新库添加到源代码管理中,并将其分支到任何需要引用它的解决方案中。

这提供了版本控制方面的优势。负责参考图书馆的项目的团队可以决定他们将要编码的版本以及任何升级的时间。他们可以按照他们决定的时间表将期望的图书馆版本合并到他们的分支机构中。

这也将相反。您可以选择将对项目范围内的库进行的更改合并回库的主分支,以便其他项目可以访问它们。

您会在Pattern &实践here的指导中找到一些更多详细信息(以及其他选项)。

3

是的,有一个“实用”项目是非常普遍的。在大多数地方,它只是一个单独的项目 - 不会分解成数学,字符串操作等。如果它变得非常大可能有意义,但对于大多数地方,单个库运行得足够好,只需使用项目中的适当命名空间来分割功能上。

我遇到的唯一缺点就是版本控制 - 如果你有不同的项目使用不同的版本,你需要在任何时候都是绝对向后兼容的,或者建立/发布准确的版本每个项目,这可能是烦人的。

0

你可以做的是说功能库,然后专门将它复制到你的项目中,除非你可以设计上述功能,而不需要对版本进行小的修改。

这样,您始终可以确定您拥有正确的版本。

在java中,至少,你也可以编写你的类,然后扩展它,如果你需要重写特定的方法。