代码坏味道

重构的定义

  1. 名词形式:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

  2. 动词形式:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

重构的好处

  1. 重构改进软件设计
  2. 重构使软件更容易理解
  3. 重构帮助找到bug
  4. 重构提高编程速度

代码的22种坏味道

  1. 重复代码(Duplicated Code)
  2. 过长函数(Long Method)
  3. 过大的类(Large Class)
  4. 过长参数列(Long Parameter List)
  5. 发散式变化(Divergent Change)
  6. 散弹式修改(Shotgun Surgery)
  7. 依恋情结(Feature Envy)
  8. 数据泥团(Data Clumps)
  9. 基本类型偏执(Primitive Obsession)
  10. switch惊悚现身(Switch Satement)
  11. 平行继承体系(Parallel Inheritance Hierarchies)
  12. 累赘类(Lazy Class)
  13. 夸夸其谈未来性(Speculative Generality)
  14. 令人迷惑的暂时字段(Temporary Field)
  15. 过度耦合的消息链(Message Chains)
  16. 中间人(Middle Man)
  17. 亲昵关系(Inappropriate Intimacy)
  18. 异曲同工的类(Alternative Classes with Different Interfaces)
  19. 不完美的库类(Incomplete Library Class)
  20. 纯稚的数据类(Data Class)
  21. 被拒绝的遗赠(Refused Bequest)
  22. 过多的注释(Comments)

《重构-改善既有代码的设计》一书才刚开始看,以后在实际生产中要牢记上述几条,刻意练习,才能形成习惯。