现有的项目背景,已经平稳运行了有接近 10 年了。所有的拓展、报表、API 等全部基于 PHP7 Laravel 5.2 进行的开发,最终目标是升级到最新的 Laravel 12
简单的使用 find . -type f -name "*.php" | wc -l 发现有接近 7500 个 php 文件。
升级的原因是老板认为版本过老,有潜在的漏洞风险。
关于新的 leader ,目测有 20 年以上的开发经验,但他几乎不懂 php ,有.net react nodejs 的开发经验,Claude code Max 忠实用户,最近又新开了几个 Max 账号给其它三位 php 开发。
目前执行到了第一步,先简单的从 5.2 升级到 5.3 试试水,让 Claude/Chat-GPT 生成了大概 12 个步骤,每个步骤都单独进行 git commit ,整体执行下来已经消耗了整月 20%的 token ,升完后遇到 bug 喂给 Claude 解决,一直反复进行。
三位同事的反馈是 Claude 升级的时候会改现有的业务逻辑,需要大量的时间去 review 代码。
各位有没有使用过 AI 来进行老项目升级的经历?
102
pugoingdrt 20 小时 30 分钟前
为啥不把现有业务逻辑整理出来,然后直接让 AI 用最新版本重新开发测试,业务没有问题后,迁移数据库文件进行对接
|
103
zerovoid 20 小时 24 分钟前
升级框架版本为啥要用 AI 呢,这应该有很成熟的解决方案了吧,
新功能用 AI 去开发提高效率还能理解, 居然用 AI 去动老代码,感觉像是给自己整活。 |
104
zw1one 20 小时 18 分钟前
这个事有意思,拿公司的钱 自己玩 ai 升级项目 最后成不成也不关我事。
成了是我的功劳,不成是 ai 的锅而且自己也涨了 ai 使用经验,挺好的。 老板愿意砸钱给你们霍霍,就尽情霍霍呗。比做业务需求开发好玩多了。 |
105
qianyeyixi 20 小时 5 分钟前
建议跑路,哪来的逗比? 7000+文件的项目 是来搞笑的吧 先把锅分掉,分不掉赶紧跑,不然新 leader 就该给你上压力了
|
106
oops1900 20 小时 2 分钟前 平时就该维护升级……我们 Laravel 项目也运行了 6 年,基本都是追着次新版升级。
|
107
littleG 19 小时 56 分钟前
前几天刚看了相关文章和评论,说的就是 AI 并没有提升多少工作效率,相反需要工程师花大量的时间和精力对提交的代码进行质量审查和修改。
而对于这种古董级工程,能平稳运行已经非常不错了,靠它进行整体升级重构……不如重新再另起炉灶开发一个了。 盲猜一下: 最后就是简单改一部分,然后技术 leader 向老板汇报 “取得重大成功”;出问题了的话怎么办?拉一个开发祭旗 |
108
strive 19 小时 51 分钟前
拆分出来拿一小部分业务升级,积累升级的经验,再扩大升级吧;怎么也不可能一次性升级完呐
|
109
aonshuy 19 小时 36 分钟前 via Android
先把 tech leader 开了,安全漏洞说安全的,不去面对漏洞而是追新技术,新技术就没漏洞吗,活在梦里?
|
110
xufei0913 19 小时 34 分钟前 可以采用分阶段升级方案。比如在我的 java 项目中,将项目的 Spring Boot 从 2.x 升级到 3.x 时,第一阶段可直接将 Java 从 8 升级到 17 ,因为 Spring Boot 2.x 支持 Java 17 ,这样就无需逐级升级。第二阶段再从 Java 17 升级到最新版本和 Spring Boot3.x
|
111
canteon 19 小时 11 分钟前
用 krio ,我觉得能解决。看起来用模型,怎么用最佳方式,就知道模型哪个牛逼,别改了离职吧
|
112
bestwaytowait 19 小时 10 分钟前
太瞧得起 AI 了。。。。一点点做还有戏
|
113
kyrieIvring 18 小时 14 分钟前
md 写的怎么样,写的不行就很费事情。
|
114
dingyaguang117 18 小时 3 分钟前 大家也太瞧不起 AI 了,我感觉应该问题不大, 可能会有少量 Bug 。 主要需要有一个完善的测试用例。 不过看 LZ 公司这种万年不升级的,估计也没啥测试用例。
|
115
zuosiruan 16 小时 57 分钟前 期待 op 主一个后续,可千万别没了后续啊
|
116
bbbblue 11 小时 38 分钟前 @xufei0913 其他的不一定有 java 这么好的兼容性.... java8 到 21 都没太大问题(除非大量反射 jdk/类库的 internal 实现) sb2 到 3 我之前升过除了 jaktraEE 改包名 几乎没破坏性更新
特别 php 项目 前端构建一般也在一起。。。那就更恐怖了 前端的东西构建工具都迭代了多少了😂 搞不好他们的还是 gulp 新的基本都是 vite 这个都够吃一壶了。。。 这个难度 估计和让你将几千个 java 文件的 SSH+JSP 项目升级到 spring boot+vue 有的一拼😂😂😂😂 |
117
aarontian 8 小时 3 分钟前
只能说 AI 没那么强,这事性价比过低
|
118
xmdbb 4 小时 45 分钟前 指向性那么明显,倒不如自己投喂 larvel 每个版本更新信息和 PHP 的,然后再跑;
接着再投喂业务文档和相关接口文档,让 AI 去 review ,review 结果不确定的记录转人工。 |
119
lizuoqiang 4 小时 36 分钟前
重构一时爽
|
120
ccfly 3 小时 53 分钟前
@dingyaguang117 你也太看得起 ai 了。。。。这种跨很多个大版本的升级 你让精通的人来搞都很难搞 何况对业务一无所知的 ai
|
121
jun4rui 3 小时 51 分钟前 这种不实际开发的 Leader 是坑的几率非常之大,过于脱离实际。这种人的信息来源基于各种宣传文章可能性很大,尤其是现在这种自媒体泛滥的时代,很容易被忽悠瘸。
20 年的.net 经验,是不是 ASP 那种?.net 太宽泛了,建议好好调查下他的技术路线,我虽然已经退休不在一线编码了,我开发代码时间有 30 年,据我所知大部分 20 年经验的其实和现在的开发技术已经脱节了,很多都是根据新闻了解一下大概自己并不实际写代码,虽然流行的术语、词汇都朗朗上口,但绝大多数属于纸上谈兵,和实际编码相差太远,毫无参考价值 |
122
jianrenjun 3 小时 49 分钟前
1.首先有没有改这个项目的紧迫性,比如那些银行需要信创,旧的那种必须 ie 插件的系统确实紧迫
2.AI 工具毕竟是个工具,如果是为了工具忽略了目的,那确实本末倒置. 3.有给员工买 claude Max 的 leader 是个好 leader |
123
jun4rui 3 小时 46 分钟前
@littleG 本来就是,AI 生成得快,但是 review 的时间不快。你自己写代码思路和逻辑都知道,而 AI 生成的如果太多你还需要花时间了解,所以速度自然上不去,尤其是需要长期运营的项目,各种底层实现都需要了如指掌。
出问题他跑路就是,换下一家,你们这个公司可能就全完蛋了,万万不可轻易重构系统 |
124
jxee 3 小时 43 分钟前 代码错了编译器会报错, AI 错了他会告诉你: 我棒棒的完成了
|
125
ryougifujino 2 小时 34 分钟前
没有完善的测试用例这种 AI 重构就是无稽之谈。
|
126
coolmenu 2 小时 26 分钟前
这么个升级步骤,用订阅制度肯定是不行。你跟总监说一下,用 API 制度,然后写上千个测试案例,估计消耗个几千美元上万美元。他就不说话了。
|
127
jun4rui 2 小时 3 分钟前
@coolmenu 给他们买 Max 就是一种甩锅,你们 AI 我给你们了,搞不出来就是你们的问题了,搞不出来就是你们技术不行,或者玩不转现在的 AI 时代。
万一老版也是那种被各种自媒体吹嘘 AI 的吹上脑的话,搞不好觉得底层程序员就是拖我后腿的,都给我裁掉,让 Leader 再招一批人(多半是他的人)进来入职就好玩了。 |
128
tohearts 2 小时 1 分钟前
看上去,升级完全没有必要,如果真要升级,那么采用系统的拆分,逐步升级才是正道。AI 用到这个地方才对。
一上来将一坨运行平稳的老架构重构,有这样的领导,真是你们公司的“福气”啊 |