Type: concept
Confidence: 0.80
Created: 2026-04-25
Updated: 2026-04-25
Tags: 重构代码异味过度设计AI工程

臆想泛化

概述

臆想泛化是可舍弃类代码异味的一种,指为未来可能的需求而添加当前不需要的抽象或功能,违反了YAGNI(You Aren't Gonna Need It)原则。

关键内容

  1. 特征识别
  2. 只有一个子类的抽象类
  3. 为"未来可能需要"而添加的未使用参数
  4. 只是转发调用的函数
  5. 为单一用例设计的"框架"
  6. 为了灵活性而添加的复杂抽象

  7. 负面影响

  8. 复杂度没有带来相应收益
  9. 违背YAGNI原则
  10. 代码更难理解和维护
  11. 增加了不必要的复杂性
  12. 使真正的业务逻辑模糊化

  13. 常见表现

  14. 预先设计的继承层次,但实际只有一个实现
  15. 包含多个未使用的参数的方法
  16. 复杂的配置选项,但只有一两种实际使用
  17. 通用化的接口,但只有一个实现者

  18. 重构策略

  19. Collapse Hierarchy:折叠继承层次
  20. Inline Class:内联不必要的类
  21. Remove Parameter:移除未使用的参数
  22. Rename Method:简化过度通用的命名

  23. 设计原则

  24. 遵循YAGNI原则
  25. 优先实现当前需求
  26. 在真正需要时再进行抽象

来源

相关