先判断这个功能是否仍在产生可验证的价值,而不是先问“代码已经写了要不要删”。如果它没有访问、没有业务动作、没有外部依赖,且维护成本会持续发生,下线通常比留用更干净;如果它仍被少数关键用户使用、或承担着对外承诺与数据留存职责,就应先改写边界再决定是否保留。下面给出一套可落地的判断顺序。
需求取消只说明当初的立项理由消失了,不等于功能立刻失去全部作用。评估时要区分三类证据:
这三类证据指向不同结论:只有使用证据消失、依赖证据为空、成本证据为正时,下线才是一个干净的选择。若依赖证据存在,先解决依赖,而不是直接删除。
留用适用于功能仍被使用,或虽使用很少但替代成本明显更高的情况。前提是你能说清它服务谁、由谁负责、下次评估在什么条件下触发。留用不等于放任,至少要为它指定一个负责人和一条退出条件,否则它会一直留在系统里。
改写适用于核心价值还在、但形态与当前需求不匹配的情况。常见做法是缩小范围:把面向全体访客的入口改成仅对特定角色可见,把自动执行改成手动触发,把独立页面并入已有流程。改写的判断标准是改写后维护面是否真的变小,而不是只把入口藏起来。
下线适用于无使用、无依赖、且保留会持续产生成本的情况。下线前要确认数据如何处理:是导出归档、保留只读副本,还是按约定删除。这一步不做,下线就只是把问题从功能层转移到数据层。
假设某衡水企业网站设计项目中,原计划做一个经销商在线报备表单,开发完成后业务方向调整,报备改由线下处理。此时不要直接删除,可以按以下顺序检查:
这个例子的关键在于:删除动作放在最后,而不是第一步。若第 2 步发现后台报表仍在读取该数据表,那么正确动作是先改报表,再谈下线;否则报表会先出问题,反而增加返工。
个别样本上成立的判断,放到整个站点未必成立。一个功能在某个栏目没人用,不代表它在另一个栏目也没人用;一个入口在当前版本被隐藏,不代表旧链接没有外部流量进入。规模化评估时要注意两点边界:
因此,当样本量小或角色分布不均时,不要用“总体使用率低”直接推导下线。更稳妥的做法是先缩小可见范围,观察一个评估周期,再决定是否彻底移除。
无论选择哪条路,都要留下可核对的记录:保留则写明负责人与复查条件;改写则写明新范围与验证方式;下线则写明数据处置方式与依赖清理清单。一个实际动作是:在下线前,把该功能涉及的数据表、接口、页面入口和外部引用列成清单,逐项确认处理结果。这份清单会直接决定下一步是继续清理还是暂停回滚——如果清单中仍有未确认项,就应暂停下线,先补齐确认,而不是边删边查。
需求取消只是评估的起点,真正决定留用还是下线的,是使用、依赖和成本三组证据是否指向同一结论。