核心问题
面对烂代码,什么时候该重构,什么时候该暂时忍受?
真实场景
一个模块很难读,但这次需求只改一个小字段。工程师想顺手重构,PM 担心延期。
双方都没错。问题是:这次重构是否值得?
常见误区
坏判断有两种:
只要代码烂,就必须立刻重构。
以及:
只要能跑,就永远不要动。
前者忽视交付成本,后者放任技术债滚雪球。
工程视角
重构值得发生在这些场景:
- 这段代码正在频繁变化。
- 当前结构已经明显拖慢交付。
- Bug 多次出现在同一区域。
- 新需求会让旧结构更糟。
- 有测试或灰度手段保护修改。
如果只是“看着不爽”,不一定值得现在动。
PM 可以怎么做
PM 可以把重构变成投资判断:
- 不重构会增加多少未来成本?
- 重构会影响本次交付多少?
- 有没有小步重构方案?
- 能不能和当前需求顺路做?
- 如何验证没有破坏旧行为?
Atlas Action
使用一句判断:
如果这段代码未来还会频繁变化,重构是投资;如果它几乎不再变化,忍受可能更经济。
小结
重构不是洁癖,也不是奢侈品。
它是一种工程投资,PM 要帮助团队判断投资时机。