2009-02-12 158 views
1

我在日常任务(java FYI)中使用了许多开源库。当一个项目接近成熟时,许多图书馆已经发布了更新的版本。人们通常升级是为了升级,还是等到看到特定的错误?发行说明通常会说“改进的性能和内存管理”,所以我不确定它是否值得它潜在地破坏某些东西。但另一方面,大多数图书馆都力求在发布新版本时不会破坏任何内容。何时升级库

你对此有何立场?我承认,我对升级图书馆感到沉迷。通常情况下,它确实有助于提高性能并使事情变得更简单。

+0

Duplicate:http://stackoverflow.com/questions/394223/how-do-you-decide-when-to-upgrade-a-library-in-your-project – 2010-09-23 07:54:18

回答

2

我保持什么工作,直到有原因升级。

3

我们的规则是在集成测试之前保持最新状态,但一旦我们超过了这一点就不允许更改任何库。当然,如果集成测试揭示了由于已修复的库问题而导致的缺陷,那么我们会返回并更新。幸运的是,我不记得发生过这种情况。

更新:我了解到,除非你有理由,否则不会升级。但是,我这样想:我不断在自己的代码中进行改进,并使用我认为以相同方式思考的人构建的库。我会不会使用自己的改进代码?那么,不。那么为什么我不能使用其他人已经改进的代码呢?

+0

如果你有一个“改善”的理由,你自己的代码非常棒......如果你没有,那么你会对代码库做出不必要的改变。如果没有特定的理由,不要做任何改变,并将其原因提交给自己。下一次提交。每个更改都应该被隔离。 – Philluminati 2009-02-12 22:26:23

1

如果属于旧版本的信息secuniasecurityfocus出现...

否则 - 如果需要新的功能(更好的性能也是一个“功能”)。

0

这取决于您的部署。如果您支持多个平台,那么最新的库可能在任何时候都不可用。我一直在试图安装某些需要最新版本的lib的东西而感到沮丧,并且它还没有作为一个包提供。

如果部署给客户,您希望针对稳定且广泛可用的库进行开发。

1

我与懒惰的人群 - 我记不起有没有制定一个不同的策略,而不是“有理由的时候升级” - 但现在我认为这个问题,有关主动升级有些事要说。

升级确实可以让您更容易在lib中报告错误,如果找到错误。如果你发现了一个bug并且已经升级了而不是,那么在你得到任何帮助或支持之前,你需要做的第一件事就是要做。你也可以主动做。

尤其是如果你有一个很好的测试套件,主动升级可以尽早排除问题,而这总是一个明智之举。