

更新,还是不更新,这是个问题
source link: https://aprildown.xyz/2022/05/25/update-or-not/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

项目依赖想升不敢升,升了怕有坑,到底怎么整?
依赖 == 第三方库 == Library ≈≈ 某个Github项目
如果东西没坏,就别修理它
升级依赖最糟糕的体验就是,本来没问题,升级升出了问题。
所以如果没有“想升级”之外更充分的理由,尽量别升级依赖。要升级等最少几个月再升级。
依赖的源头
从源头上来讲,要尽量减少使用的依赖。
一些对应用架构影响很大的依赖,比如一些MVI框架、复杂的UI嵌套实现等,一定要慎重考虑依赖的必要性,不然未来积重难返。
还有一些专用的、不怎么更新的依赖,要么一个版本用到老,要么拷贝到项目中。
依赖的选择
即使是一些作者积极维护、社区反馈热烈、代码质量很高的依赖,也会偶尔出现有坑的版本。更别提那些无人问津、一两个版本就杳无音信的依赖了。在选择前一定要评估评估依赖的维护状态。
针对一些闭源依赖,有新版本时一定要等几个月再尝试。
依赖的管理
个人用ben-manes/gradle-versions-plugin来检测需要升级的依赖,和dropbox/dependency-guard来保证升级后的依赖版本(排查出依赖的依赖的升级)。
依赖的更新
有新版本时一定要等一两个月再尝试,无论大小。
大部分依赖更新只需修改版本号,这样在发现问题回退版本时很容易。
对于有着Breaking Changes或需要大幅修改项目库的依赖更新,要特别小心。在升级前一定要规划好来避免意外,比如专门开一个Git Branch、进行专门的测试等,以免升级时发现太复杂而放弃,或升级后发现旧版本更适合自己。
虽然一些依赖的大版本更新有着兼容,但也要小心。比如Paging3虽然兼容旧版API,但行为却有些许变化。
因为会进行详尽的测试,这里当然要使用最新稳定版的依赖。
为了项目稳定,尽量不升级依赖,或者只升级那些确定很稳定的依赖。
其他的更新
印象最深刻的要属某次升级了某个开源应用,结果在我的设备上有Bug。作者修了一个月,但这期间等不及只好删掉应用装旧版本,数据全没啦!
教训就是,如果某次更新是无法回退的,且更新失败的代价是难以接受的,那么如果它没坏,就别修理它!
Recommend
-
33
必须承认,企业文化在中国真的很重要
-
9
“要不要接种新冠疫苗”,不该是个“问题” 近日,全国多所高校组织师生接种新冠疫苗。但在3月29日晚,“大学生要不要打疫苗”的提问,冲上某问答平台热榜,题主表达了对“会不会有副作用”的担忧。与这一现象相似的是,“疫苗...
-
10
RSS:摘要还是全文,这是个问题?
-
5
自主可控仅仅是个技术问题吗? – 安全意识博客Skip to content 国际竞争日益激烈,海外敌对势力对我们的改革开放成果虎视眈眈,窃密、入侵、渗透...
-
5
「佩戴」还是「配戴」?这是个问题 - Not LSD「佩戴」还是「配戴」?这是个问题。眼视光行业的诸位大 V 也莫衷一是。为了查证这个问题,只得求助于字典了。然而,翻遍「新华字典」仍然没有思路,这种时候只有靠 TA 了。
-
5
为啥是个app,都想做社交,还是每个产品经理都有一个社交梦? - PMCAFF产品经理社区 晴天的周末里,躺在沙发上看着电视午睡 天真 • P...
-
11
以为周杰伦是个音乐天王,其实他还是收藏大师 周杰伦 时间:2021-09-10 06:51 | 阅读: 29 ...
-
11
-
3
爱奇艺会员涨价背后:涨还是不涨,是个难题 雪豹财经社 2022-12-24 0 评论...
-
3
观点 | 有线电视收费还是免费,这是个问题导语:香港有线电视终止收费服务,或为行业带来更多思考和启发。 (本文作者:方世彤) 6月1日零时,香港有线电视收费广播牌照正式终止,开播近30年的香港有线电...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK