你可能会说:
- “AI 说代码太乱,建议重构一下,要不要同意?”
- “重构完看起来一样,怎么知道没改坏?”
它是什么
重构的承诺是"外面看不出变化",所以它最需要一个判断标准:改之前和改之后,到底哪里一样。页面截图、构建出来的 HTML、测试结果,都可以拿来比。
重构最常见的事故是隐形依赖:你删掉或挪走的东西,另一个地方还在用,却没有任何报错提醒你。样式变量、共享组件、文件路径都是重灾区。
和 AI 一起重构时,要求它把"改结构"和"改行为"分开提交:重构的提交里,不应该混进新功能或视觉调整。
打个比方
像重新整理厨房:锅碗换了位置、调料归了类,做出来的菜得和原来一模一样。要是整理完菜的味道变了,那就不叫整理了。
在这个网站里
这个网站把 /e2e 的几个组件抽成全站共用时,用构建出来的 HTML 逐字节比对:95 个页面里 94 个完全一样,唯一的不同恰好修掉了一个旧 bug。而兄弟项目 E2E Review 的一次大重构,同时弄坏了四处功能(第 15 课)。
容易搞混的地方
常见误解
重构只是整理代码,不会出问题
正确理解
重构改动的往往正是被很多地方依赖的东西。没有"改前改后一样"的检查,它比加新功能还容易出事。
你可以这样告诉 AI
复制下面这段,贴给你的 AI
这次重构请只改结构、不改行为,和任何功能或视觉调整分开提交。动手前先搜一遍要删或要挪的东西还被谁引用;改完用构建产物或截图比对证明外观没变。
接下来去哪
接着看
- 回归——原本正常的东西,因为一次改动又坏了。它不是新功能的 bug,而是"倒退"。
在这些课里出现
相关的真实事故