关于新来的技术 leader 准备用 Claude code 升级现有项目

2 天前
 jinbangzhu

现有的项目背景,已经平稳运行了有接近 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 来进行老项目升级的经历?

9914 次点击
所在节点    程序员
134 条回复
MIUIOS
2 天前
出了问题他可以背锅的话随便升,如果是开发背的话,当我没说
jhdxr
2 天前
1. 我个人经验 laravel 在你们没定制底层的基础上兼容性其实是很好的。有很多老的方法现在不推荐使用(甚至文档上完全没有相关踪迹),但依然是可以使用的。(例如 model 里自定义属性以前是用同名方法现在是用 Attribute ;鉴权以前可能是在 controller 的前置 filter 或 middleware 里完全自己写逻辑现在推荐用 guard )
2. 个人经验,单纯的依赖 AI ,它会把很多老的方法改成最新的推荐的写法,这当然没错,但没必要,尤其是一次性改这么多是毫无疑问不推荐的。。。
3. 建议是直接 composer 硬升版本,然后把 bug 丢给 AI 去解决
4. 更好的做法是让 AI 先去写一堆 test cases ,然后再升级
Duanye7X24
2 天前
这不纯纯的给你送经验吗?锅他背,你去实践积累经验
acerphoenix
2 天前
上面所有同学说的反对意见都很正确,贴合实际,但作为旁观者,我倒是想看看这么升级的进展, 反正我自己肯定不这么搞
Kevin2
2 天前
重构火葬场👻
way2create
2 天前
代码另说,各种文档完善吗?
beneo
2 天前
建议先看《重构》这本书
abc0123xyz
2 天前
复杂业务不太好处理。
另外这么久的项目,我怀疑重构时候要从代码倒推业务,或者从业务猜代码啥意思...
jjianwen68
2 天前
大概这 leader 不等升级完就跑路了
mightofcode
2 天前
能找这个 leader 买几个 max 账户吗
wonderfulcxm
2 天前
我也升级了一个 PHP 项目,从 php5.6 升级到 8.3 ,Wordpress 从 4.x 升级到 6.8 ,wp 的向下兼容做得还不够错,遇到的错误和警告 ai 基本能处理。有些插件已经没人再升级维护了,我用 ai 修复了里面的写法。
imnpc
2 天前
Ai 目前做不了这个 ,没有最新的训练数据
1.PHP 版本变化 用法不同
2.Laravel 每个版本都有配置文件和相关用法变更
3.各种组件包类库不兼容 composer 需要升级对应的包 AI 无法做到自动识别

https://laravelshift.com/ 去这里花钱升级吧 能一步步给你从最低版本升到最新 只不过价格有点贵
zhanghb
2 天前
正在用 max 重构一个 java 8 项目,一定要文档先行、小步验证。步子稍微一大就乱成一锅粥。已经踩过坑回退了一大批代码重头开始了。
Mithril
2 天前
你要想在这公司长期工作,那最好不要碰。

想要赚一笔走人就没问题。升级完了今年的 KPI 就有了,年终奖到手就辞职,你管它明年坑不坑呢。

你猜你的技术 leader 是哪一种?
tojike
2 天前
"他几乎不懂 php, 但是他想通过 AI 升级"
Varobjs
2 天前
要不你和 leader 提议吓,要玩就玩彻底点,还换什么 laravel 12 ,直接换语言,换数据库
sagnitude
2 天前
干这事除了做着好玩,他对公司产生了什么价值?有点太搞了,还不如把 claude max 的钱发成补贴,让大家多开开 code review 会
javalaw2010
2 天前
正如#22 所说,laravel 的兼容性确实很不错,不过这里面最大的麻烦不是 laravel 版本升级而是 php 版本升级。我其实觉得没必要一个版本号一个版本号的升,直接一步到位 5.2->12, 如果担心风险太大可以 nginx 层面做个分流,一个接口一个接口的改,渐进式迁移,改完一批接口观察一段时间,没问题就升级下一批,虽说有 7500 个文件,但我料想真的要修改的 PHP 文件没有那么多,拍脑袋估一下可能 20%~40%。

不过讲道理,CC 并不太适合处理这个,可以试一下付费方案 https://laravelshift.com/ ,99 刀的订阅,大概会比这个性价比高不少吧。
br_wang
2 天前
单测全吗?是不是人来维护单测代码,Claude 修改业务代码,好一点……
ZztGqk
2 天前
ai 改的很快,但 review 要挺久的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1167789

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX