1. 重复代码
  2. 方法过长
  3. 类太大
  4. 参数列表太长
  5. 发散型变化
  6. 散弹型变化
  7. 特性依赖
  8. 数据匿团
  9. 基本类型偏执
  10. case语句
  11. 冗赘类
  12. 纯臆测的泛化
  13. 平行继承体系
  14. 临时字段
  15. 消息链
  16. 中间人
  17. 过分亲密
  18. 异曲同工的类
  19. 不完善的类库
  20. 数据类
  21. 被拒绝的遗赠
  22. 注释
  23. 狂热的元编程
  24. 脱节的API
  25. 不断重复的样板文本