先别急着删代码,也别因为“已经花钱做了”就默认留下。评估的核心不是功能本身好不好,而是它是否还有明确的维护责任人、可验证的使用证据和可承受的长期成本。如果三项都缺失,下线通常比留用更安全;如果至少两项成立,可以先隔离保留并设定复查期限。
假设巩义一家做工业配件的企业,原计划在官网加一个“经销商报备”表单:经销商提交项目信息,后台按区域分配跟进人。开发完成后,业务部门决定取消报备流程,改为线下沟通。此时功能已经上线,但没人使用。这个情境是假设的,用来说明判断顺序,不代表任何真实项目。
第一步不是问“要不要留”,而是确认三件事:谁在维护它、有没有真实提交、下线会影响谁。如果三项都答不上来,说明它已经处于无人负责状态,继续留在生产环境只会增加被遗忘的风险。
可以核对的证据包括:表单提交记录、后台操作日志、数据库表中是否有新增数据、页面访问量、以及最近一次代码变更时间。注意,访问量低不等于没人需要,也可能是入口太深或表单太长;提交量为零也不等于功能无价值,也可能是业务已经改走线下。反过来,有少量提交也不能直接证明必须保留,还要看这些提交是否被真正处理。
一个实用的区分方法是把证据分成三类:
如果使用证据为零、依赖证据为零、成本证据为正,下线是合理选择。如果使用证据为零但依赖证据存在,先不要删,应该先解除依赖再下线。
留用成立的条件通常是:有明确业务负责人、有可核对的近期使用记录、维护成本可接受。三者缺一,留用就会变成“技术债挂账”。
隔离保留适合证据不足但删除风险较高的情况。具体动作可以是从导航和页面入口移除,保留代码和数据结构,关闭对外提交,只留内部只读访问。这样做的结果是:用户不再看到无效功能,但历史数据仍可查,后续如果业务重启也有恢复基础。隔离后应设定一个复查节点,例如下一次版本发布或季度复盘,而不是无限期挂着。
下线适合无人负责、无使用、无依赖的功能。下线动作应包括:移除页面入口、停止表单提交、备份相关数据、删除或注释调用代码、检查是否有残留接口。完成后的下一步是验证:访问原地址应返回正常的不存在状态,后台不再出现新的待处理记录,相关统计不再产生新数据。
这个顺序的关键在于:动作的结果会直接改变下一步。例如,解除依赖时发现某个内部报表仍在读取该功能的数据表,那么下一步就不是删除表,而是先迁移报表数据源,再继续下线。
提交量为零,可能只是因为入口藏在二级页面底部,而不是需求真的消失。页面访问量高,也可能只是爬虫或旧链接跳转,不代表有人在用。代码最近被改过,也可能只是格式化或依赖升级,不代表功能仍被重视。把这些现象当成单一结论,容易做出错误处理。
更稳妥的做法是:把“需求已取消”当作业务信号,把“功能已开发”当作技术事实,两者之间用证据连接。证据不足时,优先选择可逆动作,比如隔离而不是直接删除;证据充分时,再执行不可逆动作。这样无论后续业务是否重启,都不会因为一次仓促决定而丢失必要的数据或恢复能力。