用途:hard-cut 用于把某个功能彻底删掉,而不是让它残留。适合用户明确要求“hard cut”“rip it out”“delete it”“unship”“kill this feature”等场景。
主要原则:删除功能表面,不做弃用处理;除非用户明确要求,否则不留下抛错占位、占位提示、“功能已移除”横幅或恢复该功能的 TODO;不保留兼容别名、弃用垫片、回退解析、迁移桥或死导出;删除被删行为的测试,只保留仍存在行为的测试;删除描述被删代码或怀念旧功能的注释;若删除暴露出相邻死代码,继续清理直到依赖图干净。
扫描范围:查找真实影响面,包括导出、命令与标志、路由、UI 入口、功能开关、文档与示例。用 rg 追踪引用,删除实现和胶水代码,包括调用点、类型、状态、测试、文档、注释。再次用 grep 搜索被删名称和明显别名。对存活产品运行最窄且诚实的验证。
坏味道:弃用通知、未实现抛错、桩处理器、死枚举或联合成员、永远为假的功能开关分支、未使用的环境变量与配置、只能证明已删功能曾存在的测试。
倾向:如果要在删除更多代码和留下僵尸接缝之间选择,删除更多代码。
限制:资料未提供具体安装命令、平台支持、收费方式或可执行工具细节。