您如何决定何时升级项目中的库? [英] How do you decide when to upgrade a library in your project?

查看:113
本文介绍了您如何决定何时升级项目中的库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个使用多个开源Java库的项目上工作。当升级到这些库时,我们倾向于遵循保守的策略:

I work on a project that uses multiple open source Java libraries. When upgrades to those libraries come out, we tend to follow a conservative strategy:


  1. 如果它没有损坏,请不要修复它

  2. 如果它没有我们想要的新功能,请忽略它

我们遵循这个策略因为我们通常没有时间放入新库并彻底测试整个应用程序。 (像许多软件开发团队一样,我们总是落后于几个月前承诺的功能。)

We follow this strategy because we usually don't have time to put in the new library and thoroughly test the overall application. (Like many software development teams we're always behind schedule on features we promised months ago.)

但是,我有时想知道这种策略是否明智,因为一些性能改进并且大量的错误修复通常伴随着库升级。 (即谁知道,也许事情会以我们无法预见的方式更好地运作......)

But, I sometimes wonder if this strategy is wise given that some performance improvements and a large number of bug fixes usually come with library upgrades. (i.e. "Who knows, maybe things will work better in a way we don't foresee...")

当你制作这些类型的东西时,你使用什么标准?您项目中的决定?

What criteria do you use when you make these types of decisions in your project?

推荐答案

我已经吸取了足够的经验教训来执行以下操作:

I've learned enough lessons to do the following:


  1. 检查图书馆的更改列表。他们修复了什么?我关心的?如果没有更改列表,则我的项目中不会使用该库。

  2. 人们在图书馆论坛上发布了什么内容?发布后不久就会发出大量帖子指出明显的问题吗?

  3. 与2号一样,不要立即升级。每个人发布都不好。我不打算成为第一个得到这个小虫子的人。 (不再是)。这并不意味着要等6个月。在发布的第一个月内你应该知道缺点。

  4. 当我决定继续升级时;测试,测试测试。这里的自动化测试非常重要。

  1. Check the library's change list. What did they fix? Do I care? If there isn't a change list, then the library isn't used in my project.
  2. What are people posting about on the Library's forum? Are there a rash of posts starting shortly after release pointing out obvious problems?
  3. Along the same vein as number 2, don't upgrade immediately. EVERYONE has a bad release. I don't intend to be the first to get bit with that little bug. (anymore that is). This doesn't mean wait 6 months either. Within the first month of release you should know the downsides.
  4. When I decide to go ahead with an upgrade; test, test test. Here automated testing is extremely important.

编辑:我想再添加一项,至少同样重要,也许比其他更重要。

I wanted to add one more item which is at least as important, and maybe more so than the others.


  • 此版本引入了哪些重大变化?换句话说,图书馆是否朝着不同的方向发展?如果库正在弃用或替换功能,您将希望保持最佳状态。

这篇关于您如何决定何时升级项目中的库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆