其他
准备新增功能、抽象、依赖、流程或控制时…
当想通过添加来解决问题时,先判断能否通过移除有害、浪费或非必要元素达成同一目标。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 48/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 55/100 ×0.15
适用场景
准备新增功能、抽象、依赖、流程或控制时,通用
解决思路
- 暂停“添加”反射:用一行写下目标和拟新增项(如果没有新增也写明)。
- 先问减法问题:列出为以更小表面积达成同一目标,哪些东西可以被移除或停止。
- 用证据编目移除候选:优先未使用、冗余、高成本/低价值或有害的元素;要求使用情况、调用图、指标或实验证据,不要凭品味。
- 应用不可逆保护:将候选分为可逆与难于恢复;识别依赖方;拒绝删除未经证实的“神秘保护”;规划分阶段移除,或在风险不可忽视时标记出来。
- 先移除最安全且高价值的候选:执行删减,监控,并验证所需行为没有缺失,然后再进行下一次移除。
- 仅在目标仍然失败时才添加:如果减法无法满足需求,添加最小变更,并记录为什么移除不充分。
- 满足停止条件时停止:目标通过“缺席”达成,或剩余候选未通过不可逆/证据门槛,且最小添加已被证明合理。
- 停止条件:通过移除达成目标,或在有证据支持的减法失败后记录残余需求。
- 按输出模板记录:目标: <期望结果>;拟新增(如有): <内容>;移除候选: <元素 — 证据 — 风险 — 是否可逆?>;行动: 移除 <X> | 分阶段移除 <X> | 添加最小 <Y>,因为 <为什么移除失败>;验证计划: <如何检查缺席/成功>;勿动项: <保留的承重项>。
- 验证:如果删除某物时没有未使用/有害证据,或把安全控制当作“复杂度”移除,则判定该决策为假/失败。
- 验证:如果针对同一目标没有先做减法遍历就交付了新增,则判定为假/失败。
- 防止过度应用:当元素是承重项或需求已被证明时,不要为了行数或纯粹性而删除。
适用边界 · 注意事项
- 承重控制(auth、validation、测试、限流、重试、安全检查)不要删,除非已被证明无用;默认它们是必要的。
- 已有明确需求且无法通过移除或简化满足时,不要为了减法而拒绝最小新增;也不要在没有未使用或净危害证据时做美学极简。
- 影响未知且没有回滚路径时,不要做不可逆删除。