开源java框架
使用它们的第一个原因是降低了成本,因为与您自己编写相同的东西相比,使您的项目更容易获得开源库。
使用开源工件的第二个原因是降低了成本 :您可以从大量有能力且热情的开发人员那里获得免费支持,通常以大量的文档和论坛的形式。
第三个原因是降低了成本 :您可以从开源社区获得免费的更新和增强功能,并可以免费修复错误,尽管您无法选择要向项目中添加哪些增强功能。 某些项目(例如Tomcat)具有一种机制,可以对所进行的增强进行投票,但最终取决于开发人员真正感兴趣的是什么。
使用流行的开源库和框架还有两个不言而喻的理由:首先,它们使您的CV看起来不错。 如果开源X很流行,并且将其放在简历中,那么您获得加薪或获得更好工作的机会将会增加。 其次,如果您在一个开源项目中工作,那么您将获得一些荣誉,这又使您的简历看起来不错,从而增加了增加薪资包大小的机会。
使用开源工件显然有一个缺点,那就是所有项目都有自然的生命周期。 发行了新版本的库,不赞成使用旧库,因为该技术过旧,开发人员失去了兴趣或继续前进,或者社区的其他成员发现了其他更好的方法,并跳上了落后的行列。
因此,发现自己已被淘汰和弃用的开源库所困扰的问题首先是要付出额外的代价 :没有支持,没有论坛,也没有错误修复。 你一个人。 您通常可以设法将源代码下载到退休的项目并自己提供支持,但这并不能保证并且要花钱 。
使用不推荐使用的代码的第二个问题是额外的成本 :旧代码通常包含过时的体系结构和模式,其中包含已知的缺陷和问题-毕竟,这就是它们过时的原因。 使用过时的模式和体系结构会鼓励并且在某些情况下会迫使开发人员编写错误的代码,这并不是因为您的开发人员很糟糕,而是这种方式。例如,有些非常过时的JSP标记公然地将数据库调用与业务和表示逻辑,这是一种生成Crumpy,不可维护的意大利面条代码的众所周知的方式。
第三个问题是,不管您相信与否,这会产生额外的成本 :我最近遇到一个项目,其中的代码太旧了,以至于JAR文件发生冲突,其中包含相同API的不同版本的不同JAR被拖到类路径中。 代码的某些位使用API的一个版本,而其他位使用另一版本。 蚀不知道该怎么做。
这里面还存在着隐性成本:没有合适的人愿意处理过时的意大利面条式代码–它会损害道德并破坏生存意愿,同时会损害您找到下一份更高薪水工作的能力。 另外,当人们离开时,您将有寻找和培训其替代者的额外费用 。 永远不要忘记,最优秀的人才会最先离开,留下经验不足的开发人员,这又增加了您的成本 。
那么,面对过时的开源库和框架,您该怎么办?
1)什么也不做,继续使用过时的库,希望一切都会好起来的。
2)废弃整个项目,然后从头开始-大爆炸理论。
3)大力重构以删除过时的开源代码。 这也可以看作是更改应用程序体系结构,更新团队的编程实践以及改进代码和整个构建过程的一种方式。
从以上的观点,我认为您可以认为我更喜欢选项3。选项1的风险很大,但是选项2的风险又大了,从头开始浪费时间只是在重新发明轮子,而在您这样做时那就是说,您没有产品,而且刚开始时您可能还会陷入一团糟。 选择3是进化而不是革命,这是最明智的选择。
说了这么多,我绝对不会停止使用开源代码…
参考: “ Captain's Debug”博客中的 JCG合作伙伴 Roger Hughes 的使用开源Java库和框架的好处和危险 。
相关文章 :
翻译自: https://www.javacodegeeks.com/2011/09/open-source-java-libraries-and.html
开源java框架