代码之家  ›  专栏  ›  技术社区  ›  dogbane

保持库无关

  •  7
  • dogbane  · 技术社区  · 14 年前

    我有一个小的实用程序库,其中包含一些有用的实用程序方法,这些方法已经过了完整的单元测试。目前,我的库没有外部依赖项。我想在我的类中添加日志记录,这可能对调试有用。但这意味着将日志库与我的项目捆绑在一起。

    我的问题是:我应该保持我的图书馆依赖免费吗?这样做有什么好处吗?

    4 回复  |  直到 14 年前
        1
  •  0
  •   Aaron Digulla    14 年前

    赞成的意见:

    • 您的库将小得多(可能您只使用了任何依赖项的全部功能的一小部分)
    • 你不必为别人的突发奇想而折腾(比如你的库从1.x变为2.x->你需要更新你的代码)

    反对的论点:

    • 如果产品X还需要库,则浪费代码
    • 你有多聪明?很可能你无法与已经进入图书馆的思想、智慧和时间相匹配。

    PS:如果要支持日志记录,请添加 slf4j 使用 commons-logging .

        2
  •  5
  •   Preet Sangha    14 年前

    您可以简单地通过配置文件或运行时发现要求用户配置一个新的NullLogger,从而使不使用它变得容易。

        3
  •  1
  •   Peter Knego    14 年前
        4
  •  1
  •   Prof. Falken    14 年前

    这样做有很多优点,尤其是在大多数操作系统上运行的能力。

    另外,如果你想要一个完全没有库依赖关系的库,或者一个依赖于标准类路径的库。如果它是纯Java,它将运行在J2ME、Android、本机编译的Java上 GCJ 还有什么不好。如果它使用类路径,那么它将在所有类路径实现中都是可移植的,实际上,无论OpenJDK在何处运行。