PHP 遗留系统渐进式重构预览
| 象限 | 模块例子 | 策略 | 理由 |
|---|---|---|---|
| 高价值/低风险 | 报表导出 | 重写 | 边界清楚 |
| 高价值/高风险 | 订单结算 | 防腐层+测试 | 不能一次替换 |
| 低价值/低风险 | 管理页样式 | 有需求再改 | 收益小 |
| 低价值/高风险 | 老税务接口 | 坚决不动 | 即将退役 |
3个月路线
第1—2周画业务流和事故地图;3—4周给订单、付款补特征测试;5—6周在入口加防腐层;7—8周抽出报表模块;9—10周双写对账;11—12周小流量切换与复盘。每两周都要有可回滚产物,不安排“第12周一次上线”。
五大风险
隐藏数据库触发器、共享全局状态、定时任务无人知、字符编码混用、关键人员单点。预案分别是盘点、隔离、观测、样本测试和结对。
向管理层要资源
需要2名后端、0.5名测试和业务Owner每周2小时。论证不是“技术债很糟”,而是合成事故中46%恢复时间花在定位隐式依赖;先投入测试和可观测性,目标把变更失败率从18%降到8%。
每个里程碑都要附可执行的回滚方案和业务验收人;若两周没有交付可见改进,就暂停新增重构范围。真实计划必须通读 legacy/ 并先跑通业务,不凭目录名判断重写。本预览的模块与数字均为合成。