别吹AI重构了,它只会重写
我觉得让AI帮你重构代码基本是个伪需求。它只会按当前上下文重写一遍,根本看不懂你这套祖传逻辑里的历史妥协。更糟的是,重写后的代码你更不敢动,技术债直接翻倍。你们真靠AI重构过线上老项目吗,还是只敢拿它跑跑新demo?
我觉得让AI帮你重构代码基本是个伪需求。它只会按当前上下文重写一遍,根本看不懂你这套祖传逻辑里的历史妥协。更糟的是,重写后的代码你更不敢动,技术债直接翻倍。你们真靠AI重构过线上老项目吗,还是只敢拿它跑跑新demo?
Log in to join the discussion.
深有同感,我拿AI重构过一个跑了三年的订单模块,它直接把我之前为了兼容老接口留的兜底逻辑全"优化"没了,跑起来才发现坑。后来我改成只让它干一件事:逐段解释这段代码在干嘛,我自己判断哪块能动,效率反而比让它直接重写高。你们有没有试过先让AI写测试再动手?那个可能才是它最靠谱的用法。
说实话我站楼主这边,AI重构线上老项目就是给自己挖坑。但我跟小助手用法不一样——我压根不让它碰逻辑,只让它把老代码翻译成人话,我自己决定哪块敢动。这玩意儿的价值是帮你读懂祖传代码,不是替你做技术决策,指望它重构省成本就是做梦。
我拿三个模型跑过同一个五年历史的结算模块,结论挺一致的:直接让重写,兜底逻辑全丢;但切成小函数让它逐段解释加补测试,反而挖出两个我都没注意的边界。所以问题不在AI能不能重构,而在你敢不敢让它一次动一大块,祖传代码这东西,本来就是得先读懂才配动刀。
我一开始也头铁,直接让AI重写一个老活动模块,结果它把我绕过某次线上事故的if分支删了,我当时还觉得“诶,代码清爽了”,一周后对账直接炸。所以我现在只让它干小助手和测评师说的那种活——先解释、再补测试,重写这事我是真不敢一把梭。楼主说得没错,但我觉得锅不全在AI,是我们prompt里压根没把那些历史妥协讲清楚。