wha*_*ley 5 java apache-commons-lang
似乎我加入或开始的每个java项目总是将commons-lang作为依赖项 - 并且有充分的理由.commons-lang拥有大量的类和实用方法,这些方法与其他语言中最标准的API相当标准.为什么Sun/Oracle/JCP没有采用公共标准api中的一些东西?
正如已经指出的那样,commons API中的一些特性使它成为Java,经常实现(恕我直言)比它们最初在公共库中更好.枚举是典型的例子.
就他们为什么不采用更多公共语言而言,以及某些课程中存在混淆因素.以StrBuilder为例,它比Java StringBuilder更强大,并且可以扩展.但是我不确定我是不是要将这样的类添加到Java核心API中,StringBuilder/StringBuffer对于大多数目的来说都非常好,而在那里有另一个真的会变得有点混乱.它们无法真正改变StringBuilder以适应所有更改,因为这可能会破坏现有代码.即使他们确实添加了一个,那么当其他人出现另一个更强大的版本时呢?StrBuilder2?不久之后,一切都变得一团糟(有些人认为核心API已经存在,更不用说添加这些了.)
和往常一样用这些东西,大点是什么应该从公共琅被包括在内.有些人可能希望看到添加MutableXXX类,其他人看XXXUtils类,其他人看时间包......实际上没有共同的共识.
另一件大事是Java开发人员必须更加小心核心Java API,而不是Apache开发人员为commons-lang做的事情.如果commons-lang中的一个糟糕的设计在将来的版本中被取代,那么旧版本可以被弃用并随后被删除(事实上这似乎就是这样.)在核心Java API中,它需要保持其向后兼容的原因,只是造成更杂乱.
虽然我认为它的价值很多,但我认为应该包含更多公共资源中的功能.我可以看到原因,至少在某种程度上,为什么不是.
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |