Use when designing or modifying code and there is a risk of adding premature abstractions, wrappers, caching, orchestration layers, factories, or speculative extensibility without current evidence.
本 Skill 用于约束开发时的复杂度选择。 核心原则:先解决当前真实问题,再决定是否需要额外抽象。默认选择最简单、最直接、最容易解释的实现。只有当复杂度能解决今天已经存在的问题时,才允许引入它。
只有满足下面至少一条,才值得认真考虑增加复杂度:
出现这些想法时,先停下来:
在提交前,问自己:
| 借口 | 现实 |
|---|---|
| 以后可能会扩展 | 以后真的扩展时再改,通常更便宜 |
| 这样更优雅 | 可读、可改、可验证,比“优雅”更重要 |
| 先抽出来避免重复 | 只有一个地方时,这不是重复 |
| 先缓存避免性能问题 | 没数据支撑的优化通常是在制造状态问题 |
| 先做成通用框架 | 现在没有多个真实场景,框架只会增加负担 |
| 先把边界设计好 | 真实边界通常来自真实变化,不来自猜测 |
今天没有证据,就不要为明天付复杂度成本。