六年前的项目几乎打不开了,可以继续使用版本,但一定要尽量支持新版本

只是要随便瞎扯下

六年前的项目有Android、iOS、Spring。

在五年前时,我重构了下Spring项目,目前Spring项目仍旧可以打开。

不过有些依赖甚至丢了个版本,不知道哪个maven库下下来的当年可以跑,只好降到repositories中指定的仓库中有的版本。

但移动端项目Android+iOS一共六个项目,几乎打不开了。

要直接打开就要解决各种奇怪的问题,对技术的要求一下子从普通难度达到了地狱级别的难度,不可能有人做iOS或Android开发,还能整个工具链中每一行代码都比较熟悉,报个没意义的NullPointerException错误也能解决的。

最简单的方式只能是个隔几个小版本升级一次,然后测试,再升级,再测试……,这样就是个体力活了,但吃力不讨好。

所以最好的方案就是各种库有了稳定升级,就跟进下,至少也要一年跟进一次。

有人批评说不该跟进新技术,可问题是跟进新的东西也只是测试通过后才会发版本的,而且会有规范的流程来保障升级依赖不会导致各种BUG,其中最简单的就是写测试代码做自动化测试了。

目前Java项目,我已经用到Java21来写代码了,有要求的会将语言特性设置到1.8,11等版本,没特别要求的就是Java 21或17,JDK用的GraalVM 21.

结果是,新的SDK能直接跑,也能native打包,并且生产环境要求的JDK 8也没有任何问题。再替换到21时,只需要改target到21就完美了。

iOS、Android也是尽量跟进新的,Flutter小版本更新测试没问题直接更,大版本多测试下也会隔几个月就跟进,最久不会再超过一年。

Spring项目原则是:我可以不用最新版本发布,但是我一定不能大范围用已经在新版本SDK中淘汰的东西。
iOS、Android还有Flutter原则是一定不要一年都不更新,一两个月甚至都要看看有没有需要更新的依赖。

至于Web项目,几乎每个月都更新,毕竟现在云原生环境可以很轻易的无感切换流量,为何要一直旧版本不更新,导致项目时间久了骑虎难下。

posted @   Baocang  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示