先别急着删代码,也别因为“已经做完了”就默认保留。评估的核心不是功能好不好,而是它现在是否还有明确的业务负责人、可核对的使用证据和可承受的维护代价。把这三项拆成可以分别确认的事实,再决定留用、改写还是下线。
多个角色说“这个需求没了”,往往指的不是同一件事。至少要先分清:是提出需求的人不再需要,是业务规则变了导致功能失效,还是预算或排期被砍但需求本身仍在。这三种情况对代码的去留判断完全不同。
可核对的做法是让每个相关角色分别写一句:这个功能原来解决什么问题、现在这个问题还存在吗、如果不存在是从什么时候开始不存在的。把这几句话放在一起对比,分歧通常集中在“问题是否还存在”,而不是“功能是否做得好”。这一步不需要开会争论,先收集书面事实。
如果只有口头结论,没有留下任何记录,后续无论留用还是下线都会反复。建议把结论落到一个共享文档里,注明日期和确认人,作为下一步判断的输入。
判断留用还是下线,不能只看“有没有访问量”。访问量归零可能有多种解释:入口被隐藏、权限被收回、跳转链路断了,或者确实没人需要。反过来,少量访问也可能只是内部测试或爬虫,不代表真实业务价值。
可以按下面三条分别核对:
这三条要一起看。单独一条成立时,先补证据,不要直接下结论。
三种处理方式没有绝对优劣,关键是前提是否满足。
保留适合:需求提出方已变更但业务问题仍存在,且现有功能是当前唯一可用的承接方式;同时有人愿意在后续维护中承担它的依赖更新和安全检查。如果没人愿意认领维护责任,保留只是把成本往后推。
改写适合:业务目标还在,但原来的实现方式已经和当前流程脱节,例如字段含义变了、审批环节取消了、数据来源换了。改写的判断依据是目标不变而路径需要调整,而不是“代码写得不好看”。改写前要明确改完之后谁来验收。
下线适合:业务问题已由其他方式解决,入口已不可达且无恢复计划,或者维护它需要持续投入而没有任何角色愿意承担。下线不是简单删除,还要处理数据留存、外部引用和用户告知。如果功能曾对外承诺过,下线前要确认是否有替代说明。
假设某站点上有一个“在线预约看样”功能,开发完成后业务部门通知需求取消。此时可以这样核对:
这个顺序的价值在于:先做可逆的动作,用反馈结果决定下一步,而不是一次删除后再补救。
最后,把前面收集到的信息整理成一份可核对的清单,每个项目都要有明确的确认人和日期:
当这些项目都有书面答案时,“留用还是下线”就不再是立场之争,而是一个可以逐项确认的决策。先做可逆动作、用反馈修正判断,比一次性拍板更稳妥。