Когда обновлять библиотеки - PullRequest
1 голос
/ 13 февраля 2009

Я работаю с множеством библиотек с открытым исходным кодом в своих ежедневных задачах (Java FYI). К тому времени, когда проект приближается к зрелости, многие библиотеки уже выпустили новые версии. Люди обычно обновляются только для обновления или ждут, пока вы не увидите конкретную ошибку? Зачастую в примечаниях к выпуску говорится что-то вроде «улучшенной производительности и управления памятью», поэтому я не уверен, стоит ли того, чтобы что-то потенциально сломать. Но с другой стороны, большинство библиотек стремятся и утверждают, что ничего не ломают при выпуске новых версий.

Какова ваша позиция по этому поводу? Признаюсь, я немного зависим от обновления библиотек. Часто это действительно помогает с производительностью и делает вещи проще.

Ответы [ 5 ]

3 голосов
/ 13 февраля 2009

Для нас правило - оставаться в курсе перед интеграционным тестированием, но не допускать никаких изменений в какой-либо библиотеке после того, как мы пройдем этот этап. Конечно, если интеграционное тестирование выявляет недостатки, связанные с исправлением проблемы с библиотекой, мы вернемся к обновлению. К счастью, я не могу вспомнить ситуацию, когда это произошло.

Обновление: я понимаю точку зрения Филуминати о том, что не стоит обновляться, пока у вас нет причины. Тем не менее, я думаю об этом следующим образом: я постоянно совершенствую свой собственный код и использую библиотеки, созданные людьми, которые, как мне кажется, думают так же. Не смогу ли я использовать свой собственный улучшенный код? Ну нет. Так почему бы мне не использовать код, улучшенный другими?

2 голосов
/ 13 февраля 2009

Я сохраняю то, что работает, пока нет причины для обновления.

1 голос
/ 13 февраля 2009

Я с ленивой толпой - я не помню, чтобы когда-либо формулировал другую стратегию, чем «обновление, когда есть причина» - но теперь, когда я рассматриваю вопрос, есть кое-что, что можно сказать о проактивных обновлениях.

Обновление облегчает вам сообщение об ошибке в библиотеке, если вы ее найдете. Если вы обнаружите ошибку и обновите , а не , это первое, что вам нужно сделать, прежде чем вы получите какую-либо помощь или поддержку. С таким же успехом вы можете сделать это заранее.

Особенно, если у вас есть хороший набор тестов, упреждающее обновление предупредит проблемы на раннем этапе, и это всегда разумный шаг.

1 голос
/ 13 февраля 2009

Если информация, относящаяся к старой версии, появляется на secunia или securityfocus ...

В противном случае - если требуется новая функциональность (более высокая производительность также является «функциональностью»).

0 голосов
/ 13 февраля 2009

Это во многом зависит от вашего развертывания. Если вы поддерживаете несколько платформ, то самые последние библиотеки могут быть недоступны для всех в данный момент. Я был разочарован тем, что пытался установить что-то, что требует самой последней версии какой-либо библиотеки, и он еще не доступен как пакет.

Если вы развертываете у клиентов, вы хотите разрабатывать на основе стабильных и широко доступных библиотек.

...