重构遗留代码?先上 Rambo 模式
先系头带,再开 IDE
遇到一坨像苏联卡车一样超载的遗留代码。想全部看懂再动手?坏主意。先切到 Rambo 模式:
- 把闲置的都扔了:废弃功能、没人看的 flag、被遗忘的库。没人用就是负担。
- 删掉神秘 helper:2018 年手动测试跑过一次的 util?再见。
- 拔掉僵尸路由:没有指标没有日志的 endpoint 可疑得很。关掉,看谁尖叫。
最糟也有 Git 把你丢掉的东西捞回来。考古可以等等。
先清理,再理解
范围越小,大脑越能呼吸。缩小 scope,马上就知道什么还活着:
- 追踪调用:
rg或depcruise很快告诉你依赖是否还有用。零命中?卸载。 - 检查事件和任务:没人消费的队列或沉默的 cron 就是警报。你要怎么重构一个幽灵?
- 看运行时:把删掉的模块拿掉后跑起应用。看到的是真实错误,不是脑补。
过时库:留还是重写?
为一个函数背着上古依赖?你可没签约把 moment.js 扛到 2025 只为格式化一个 Date。问自己:
- 调用几次? 三个用例?十行重写,省一条依赖。
- 升级成本多大? 如果要经历六次重大迁移,替换可能更快。
- 有原生替代吗? 通常有。标准 API 能覆盖 80% 的需求,剩下的干净写就行。
切得越多,剩下的越清晰。真砍掉关键件,Git 也能半分钟内救回。
先 Rambo,再当架构师
这个“蛮力”阶段不是最终重构,只是铺路:
- 你明确了范围:少点赘肉,多点核心。
- 你降低风险:依赖更少,bug 路径更少。
- 你加快后续:真正的重建(测试、设计、解耦)变得可行。
所以,先系上红头带,快速清场。之后再拿出蓝图,画好架构,像个成年人去写代码。回忆交给 Git,心态你自己守住。