先不要按“做完了就留着”或“需求没了就删”二选一。把已开发功能当成一个待处置资产,用同一套证据分别评估留用和下线:它现在有没有真实访问或调用、是否承载对外承诺、移除会不会破坏已有页面或数据。只有这三项都指向“无影响”,下线才是低风险选项;任一项指向“有依赖”,留用并补文档通常比强行移除更稳。
打开后台功能清单或模板目录,选中那个需求已取消的功能,把它对应的页面、模板、数据表、接口和静态资源列成一张处置卡。卡片上只写四类信息:入口路径、最近一次可观察的访问或调用时间、被哪些页面或流程引用、是否产生过需要保留的业务数据。这样做的作用是把“这个功能还要不要”转成可核对的条目,避免讨论停留在印象层面。
如果卡片上连入口都找不到,先不要删代码,而是确认它是否通过短代码、区块、表单动作或定时任务被间接调用。找不到入口只能说明没有直接导航,不能单独证明功能无人使用。
证据要分开看,不要用单一信号下结论。访问量或调用量归零,可能来自入口被隐藏、统计未覆盖、页面被搜索降权或用户改走其他渠道,并不等于功能没有价值。更可靠的判断是下面三组条件同时成立或同时不成立。
三组都成立时,下线是低风险动作;只要承诺证据或结构证据有一项成立,就应优先留用,并把状态标记为“冻结维护”——保留入口和数据,不再投入新开发。
假设某 CMS 站曾计划做“预约到店”功能,需求取消后代码已开发完成。检查发现:统计里最近三个月没有提交记录,但帮助中心有一篇旧文章写着“可在线预约”,且用户资料表里存着历史预约数据。此时访问为零并不能支持直接删除,因为对外承诺和历史数据仍在。合理动作是保留功能但隐藏新入口,同时更新帮助文章说明当前预约方式,并把历史数据导出归档。下一步再观察一个业务周期,若客服不再引用该功能、也没有新的数据写入,才进入下线评估。
反过来,如果该功能没有对外文案、没有历史数据、也没有页面引用,只是模板目录里多了一组文件,那么可以先在测试环境移除并跑一遍主要页面,确认没有报错后再处理生产环境。这个动作的结果会直接决定下一步:测试环境无异常,才值得安排正式下线;一旦出现空白区块或接口报错,就回到留用分支补依赖说明。
评估结束后,不要只留一句“留着”或“删掉”。按下面顺序落到具体动作:
执行后要回看结果:如果下线后出现 404、空白区块或客服收到相关询问,说明承诺证据或结构证据被低估,应恢复入口并转为冻结维护;如果留用后长期没有访问也没有维护成本,可以在下一次复核时重新进入下线评估。决定不是一次性的,而是随证据变化更新。
已开发功能的去留,本质是业务承诺、数据责任和技术维护三者的取舍。技术上看可以删,不代表业务上可以删;业务上暂时不用,也不代表必须马上删。对已有实际业务的站点,更稳妥的顺序是先冻结、再观察、后清理。这样既不会因为需求取消就丢掉可能仍被引用的能力,也不会让无人维护的旧功能长期占用模板和接口。
当你能说清这个功能被谁引用、有没有对外承诺、移除后哪一步会受影响,留用或下线就不再是拍脑袋决定,而是一个可以复核、可以回退的处置动作。