六年前的项目几乎打不开了,可以继续使用版本,但一定要尽量支持新版本
只是要随便瞎扯下
六年前的项目有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项目,几乎每个月都更新,毕竟现在云原生环境可以很轻易的无感切换流量,为何要一直旧版本不更新,导致项目时间久了骑虎难下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)