我在日常任务中使用了很多开源库(java FYI)。当一个项目接近成熟时,许多库已经发布了更新的版本。人们通常只升级升级,还是等到你看到特定的bug?发行说明通常会说“改进性能和内存管理”,所以我不确定它是否值得破坏某些东西。但另一方面,大多数图书馆努力并声称在发布新版本时不会破坏任何内容。
你对此有何看法?我承认,我有点沉迷于升级库。通常它确实有助于提高性能并使事情变得更容易。
答案 0 :(得分:3)
我们的规则是在集成测试之前保持最新状态,但是一旦我们超过这一点,就不允许对任何库进行任何更改。当然,如果集成测试显示由于已修复的库的问题而导致的缺陷,那么我们将返回并更新。幸运的是,我不记得发生这种情况的情况。
更新:我理解Philuminati关于在你有理由之前不升级的观点。但是,我这样想:我不断追求改进自己的代码,并且使用人们构建的库,我相信这些库是以同样的方式思考的。我是否会使用自己的改进代码?好吧,不。那么为什么我不能使用其他人改进的代码呢?
答案 1 :(得分:2)
我保持有效,直到原因升级。
答案 2 :(得分:1)
如果有关旧版本的信息显示在secunia或securityfocus ...
上否则 - 如果需要新功能(更好的性能也是'功能')。
答案 3 :(得分:1)
我和懒惰的人群在一起 - 我记不起制定不同的策略而不是“当有理由升级时” - 但现在我考虑了这个问题,有关于主动升级的话题。
如果您找到了错误,升级确实可以让您更轻松地报告lib中的错误。如果您发现了一个错误且未已升级,那么在您获得任何帮助或支持之前,您将首先要做的事情。你也可以主动去做。
特别是如果你有一个好的测试套件,主动升级会尽早清除问题,这总是一个聪明的举动。
答案 4 :(得分:0)
这在很大程度上取决于您的部署。如果您支持多个平台,那么在任何特定时刻都可能无法提供最新的库。尝试安装一些需要最新版本的lib的东西,我一直很沮丧,但它还没有作为一个包提供。
如果您要部署到您希望针对稳定且广泛可用的库进行开发的客户。