先不要因为“需求取消了”就立刻删代码,也不要因为“已经做完了”就默认保留。把功能当成一件独立资产,从访问入口、数据、外部依赖和维护成本四个角度核一遍,再决定是留用、封存还是下线。
需求取消通常只说明业务目标变了,不代表功能在当前网站里完全孤立。你需要先找入口,而不是先看代码量。
如果只搜页面标题,很容易漏掉通过参数或短链进入的页面。更稳妥的动作是导出最近一段时间的访问日志和接口调用记录,按路径和参数去重,再和功能清单对照。这里要注意:访问量很低甚至为零,不能单独证明可以下线,因为还可能是入口早已隐藏、爬虫被拦截、日志保留期太短或统计口径不完整。把“没有入口”和“没有调用”分开确认,结论才站得住。
同样是“需求取消”,背后的原因不同,处理方式也不同。可以按下面的信号分类:
判断时不要只看“有没有人提需求”,还要看“有没有人承担后果”。如果一个功能没有明确负责人、没有验收标准、也没有人愿意在出问题时处理,它留在生产环境里的风险通常高于删掉。
假设你手里有一个已开发完成、但业务方已取消的报名登记页。它包含前台表单、后台导出和一条定时清理任务。你可以按以下步骤处理:
这个动作的关键不是“先关还是先删”,而是让每一步都能被验证。关闭入口后如果仍有调用,说明还有未发现的依赖;如果确实没有调用,下一步才轮到清理代码和数据库。把观察结果写进处理记录,后续复查就不用重新争论一遍。
功能下线最容易出问题的地方,往往不是页面本身,而是它牵连的东西。
如果功能只是封存而不是彻底删除,建议保留一个最小可恢复说明:它依赖哪些配置、数据存在哪里、由谁批准恢复。这样即使原开发人员离开,接手的人也能判断该不该恢复,而不是直接重建一套。
留用不是保守,而是当保留的收益明显高于维护成本时的选择。常见条件包括:功能仍被外部合作方调用且短期无法替换;数据仍有法定或合同约定的保留义务;下线会影响正在进行的业务流程;恢复成本远高于继续维护成本。
但留用也要有边界。至少指定一个负责人、一个复查时间点和一条明确的下线条件。否则“暂时保留”很容易变成永久遗留。对一站式建站项目来说,真正需要管理的不是某一个功能,而是功能退出时留下的入口、数据和责任是否都被交代清楚。把这些交代清楚,留用或下线都只是执行结果,而不是新的隐患。