首页/开发/代码质量与评审速查/坏味道:夸夸其谈通用性(Speculative Generality)
重构手法62 条

坏味道:夸夸其谈通用性(Speculative Generality)

为想象中的扩展预留的抽象(只有一个子类的基类、无人调用的参数、从未使用的钩子):先删或内联,等真实需求出现再加;YAGNI 是它的处方。

信号抽象只有单一实现、参数无人传、方法无人调
手法Inline Class、Collapse Hierarchy、Remove Dead Code
原则不要为假想的未来设计

清理动作

清理动作
// 只被一个类实现的接口:先 Inline,等第二个实现出现再提取
// 无人调用的可扩展参数:删除,需要时再加

易错点

  • 把「以后要用」当保留理由:抽象长期无人验证
  • 删除公共 API 时不做引用检索:误删外部调用入口

数据来源与参考

  • 《重构》第 2 版 · 第 3 章(Speculative Generality)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌