先给结论:需求取消不等于功能必须下线,但也不能因为“已经做完了”就默认留用。判断的关键不是沉没成本,而是这个功能现在是否还有真实使用者、是否仍在产生维护负担、以及下线会不会影响其他正在运行的部分。三者中只要“有真实使用者”和“下线会破坏其他功能”同时成立,留用通常更稳妥;如果使用者为零且维护成本持续存在,下线更合理。
荆门网站制作项目里常见一种情况:当初提需求的人已经离职或调岗,需求方明确说“这个不用了”,但服务器日志里这个功能的页面或接口仍有请求。直觉会认为“还有访问就说明有人用”,于是继续保留。但这个推断并不牢靠,因为访问来源可能是爬虫、监控探针、旧链接跳转,也可能是某个内部系统还在定时调用。把访问量直接等同于业务价值,是评估中最容易出错的一步。
第一种解释是仍有真实依赖。比如某个部门把它当作临时入口,或者另一个已上线模块通过接口调用了它的数据。这种情况下贸然下线,表面只是删掉一个“没人要”的功能,实际会连带影响其他流程。
第二种解释是访问来自非人类流量或历史残留。比如搜索引擎仍在抓取旧页面、监控系统按固定频率探测、用户浏览器里存着旧书签。这类请求不代表业务需求,只代表链接或配置还没清理。
两种解释对应的处理方式完全相反:前者应留用并补文档,后者应下线并清理引用。因此不能只看“有没有请求”,要看请求是谁发的、来做什么。
要区分上面两种解释,可以按下面几步收集证据,每步都会影响下一步动作。
假设某个查询页面每天有几十次请求,但分组后全部来自两个固定 IP、且只访问入口不提交条件,同时代码里没有任何其他模块引用它——这组证据更支持“非人类流量”,可以进入下线评估。反过来,如果请求来自多个分散来源、伴随表单提交,且某个内部报表接口调用了它的数据表,就应按留用处理,先补上负责人和使用说明。
把证据归拢后,可以用一组条件来定:
需要提醒的是,维护成本不只是服务器开销。对荆门网站制作这类项目而言,更大的成本往往在每次改版、每次安全更新时都要重新验证这个功能,以及新人接手时要花时间理解它为什么存在。如果这部分成本长期存在而收益为零,下线的理由就成立。
决定下线后,不要直接删代码。更稳的顺序是:先停用入口并记录时间点,观察一个周期内是否有人反馈找不到;再检查日志确认没有新增真实请求;然后移除其他模块对它的引用;最后才删除代码和数据表。这个顺序的价值在于,如果中途出现真实使用方,你还能低成本恢复,而不是从备份里找回。
如果决定留用,同样要有动作:指定一个负责人,写清它解决什么问题、被谁使用、依赖哪些数据。没有负责人的留用功能,下一次评估时还会回到同样的问题上。无论留用还是下线,评估结论都应写进项目记录,说明依据的是哪几类证据,这样后续接手的人不必重新猜一遍。