评估技术债,不能只数“有多少坏代码”。更有用的量化口径是:现有系统让后续开发、维护和交接额外付出多少工作量,以及这些成本何时会发生。同一处复杂逻辑,如果近期不会再改,处理优先级可能低;如果剩余功能都要经过它,债务的影响就会持续放大。
评估前先划清边界:未完成的功能属于正常开发工作,不应全部算作技术债。缺失文档、难以复现的部署环境、难以理解或扩展的代码,以及因此增加的回归测试工作,才是需要单独识别的额外负担。可以通过代码审查、补齐关键文档和跑通环境,记录每项问题的证据、受影响模块、预计处理工作量,以及不处理时对后续任务的影响。无法确认的部分应标注为待核实,而不是直接换算成确定金额。
量化时,至少分开看两笔账。一笔是消除成本:重构、补文档、重建环境和验证修改需要多少工作量。另一笔是持有成本:暂不处理时,后续每次理解、修改、排错和测试会增加多少工作量。比较“先修再做”与“边做边绕开”的总投入,才能判断该立即偿还、随功能开发逐步处理,还是暂时接受。若某项问题既计入重构费用,又把同一段修复工作计入功能开发费用,评估就会失真。
最终结果宜呈现为按问题分组的工作量区间,而非一个貌似精确的“技术债总金额”。尤其在接手续做项目时,先核实代码、文档、账号和部署条件是否齐全;交接资料越不完整,估算的不确定性越大。量化的目的不是给旧代码贴价格标签,而是让续做、局部改造与重写的选择建立在可核查的成本依据上。