2009-02-12 83 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並且已經升級了而不是,那麼在你得到任何幫助或支持之前,你需要做的第一件事就是要做。你也可以主動做。

尤其是如果你有一個很好的測試套件,主動升級可以儘早排除問題,而這總是一個明智之舉。