先别急着删代码。把已开发功能当作一项待处置资产,用“当前是否有真实入口、是否有可核对的使用证据、下线会触发哪些依赖”三张清单逐项确认,再决定留用、隐藏入口或彻底下线。这样能把“产品说不要了、开发说已经做完”的分歧,转成可核对的项目。
“需求取消”往往只说明决策变了,不等于功能没有价值,也不等于可以安全移除。建议先找一份当前线上或测试环境的页面、接口清单,把它当作核对对象,逐项标注:
这三项都能用现有资料验证,不依赖谁的记忆。核对完成后,分歧会从“要不要”变成“哪一项不成立”。
判断留用的核心不是开发成本已经花掉,而是它现在是否仍在承担某个可描述的任务。可以按证据强弱分档:
这里要提醒一种常见误判:访问量归零可能只是入口被撤、埋点失效、爬虫策略变化或统计口径调整,并不单独证明功能无用。反过来,访问量高也可能来自内部测试或误触。所以访问数据只能作为一档证据,必须和依赖清单交叉验证。
假设某网站建设时做了一个活动报名页,后来活动取消,产品决定不再推广,但页面和提交接口都已开发完成。可按下面顺序处理:
这个例子的关键动作是“先撤入口、再停写入、最后删代码”。每一步的结果都会影响下一步:撤入口后若仍有访问,说明存在未发现的外部链接;停写入后若下游报表异常,说明依赖清单漏项,应回退到保留状态。数字只用于比较,例如把观察周期设为两周还是一个月,取决于该功能是否涉及对外承诺或财务数据,而不是套用固定值。
多个角色理解不一致时,最有效的动作是产出一页处置记录,让每个人对同一组事实签字确认。它至少应包含:
记录完成后,把结论落到具体动作上:留用就补监控和责任人;下线就先撤入口、再停写入、最后删代码。这样即使后续有人再问“为什么删了”,也能从记录里找到当时的核对依据,而不是重新争论一遍。
如果功能涉及对外承诺、合规留存、财务对账或已签署合同,即使当前需求取消,也通常应先留用并降低投入,而不是直接移除。另一种情况是它被其他系统以接口方式调用,而调用方不在本站建设团队的可见范围内。此时正确动作是先发函或发通知确认调用方,再决定下线时间表。反之,若功能只服务一个已结束的内部活动、无对外承诺、无下游依赖,且入口和写入都已停止,才适合进入彻底下线流程。
把判断落在可核对的事实上,留用或下线就不再是立场之争,而是一次有记录、可回退的处置决定。