先给出结论:功能已开发不代表必须上线,需求取消也不自动等于要删除。判断留用还是下线,关键看三件事——这个功能是否还有真实使用路径、保留它的持续成本由谁承担、以及它是否会把当前主线流程拖复杂。三者中只要“持续成本高且无明确使用路径”同时成立,下线通常比留用更省事;反过来,如果代码已稳定、入口可隐藏、未来一个季度内仍有明确复用场景,留用并隔离是更划算的选择。
假设某嘉定企业的官网在改版时,产品部门曾要求做一个“经销商在线报备”入口,开发完成后需求被取消,入口没有对外发布,但代码、后台菜单和一张数据表都留在了项目里。此时团队面对的不是“删还是留”的情绪问题,而是三个可核查的事实:这个入口有没有被任何页面链接、后台有没有产生过真实数据、以及它是否依赖了即将升级的组件。把这三项查清楚,决策基本就成形了。
注意,这里不能只看“有没有访问量”。一个从未发布的入口访问量为零是正常的,它不能证明功能无用,也不能证明功能该删。更可靠的证据是:代码是否被其他模块引用、后台是否出现过真实提交记录、以及维护它需要改动多少公共文件。访问数据归零只是线索之一,合理解释可能是入口没发布、被 robots 限制、或链接被改版时移除。
很多人把留用理解成“继续挂在后台”,这恰恰是最容易出问题的做法。留用应该分成两种:
如果选择冻结留用,实际动作是:把入口从导航和后台菜单中移除,在代码里加一段注释说明冻结原因和复查时间,并把相关数据表设为只读。做完这一步,下一次改版时就不会有人误以为它是活跃功能而顺手改坏。这个动作的结果直接影响下一步——如果三个月后仍无人提出复用,就可以按删除流程处理,而不是继续拖着。
下线不是一键删除。对已经开发完成的功能,建议按下面的顺序推进,每一步都能独立验证:
其中第二步是多数团队会漏掉的条件。一个看似孤立的报备入口,可能被某个数据导出脚本引用,直接删除会导致后台报表报错。所以删除前必须做一次引用检索,而不是凭印象判断。
留用成立的条件同样具体。如果满足以下多数情况,冻结留用比删除更合理:功能代码已经稳定、没有引入新的第三方依赖、后台入口可以隐藏、以及业务方在可预见的周期内仍可能重启这个需求。此时删除的代价是未来重新开发的工时,而留用的代价只是版本库里的一个分支和一段注释,两者相比留用更轻。
反过来,如果这个功能依赖了正在升级的框架版本、或者它引入了额外的第三方服务账号需要持续维护,那么即使业务方说“以后可能用”,也应倾向于下线。因为“以后可能用”不是明确计划,而维护成本是当下就要付出的。
无论选择哪种,都建议留下一段简短记录:功能名称、取消原因、当前处理方式(活跃留用、冻结留用或已下线)、复查时间、以及恢复所需的步骤。这段记录的价值在于,半年后接手的人不必重新翻代码猜意图。对嘉定网站设计这类项目来说,改版往往不是一次性的,需求反复出现时,一份清晰的处置记录能直接省掉重复评估的时间。
最后回到决策本身:需求取消后的功能处置,本质是在“未来可能的复用价值”和“当下确定的维护成本”之间做取舍。把使用路径、引用关系和依赖情况查清楚,再决定留用还是下线,比凭感觉删除或无限期搁置都更稳妥。