重构的三个层次

  在三个不同的层面上进行重构:

  1. 在Martin Fowler的Refactoring中,他讨论了微重构,在代码级别不断进行的小改动以进行渐进式改进。优秀的开发人员花时间记忆和建立肌肉记忆以使用他们的重构工具,因此这些微重构成为第二天性。
  2. Joshua Kerievsky在重构模式讨论了更高级别的模式,例如战略模式。他还指出了需要注意的“气味”,比如霰弹枪手术,其中做一个小的改变需要进行大量的额外改变。这些想法给我带来了安慰,我没有必要从一开始就完全正确地设计,并且我可以开始开发,当我遇到其中一种气味时,我有可用于重构的工具,但仅在它之后必要。
  3. Eric Evans在Domain-Driven Design中向我们介绍重构更深层次的模型,他谈到了一个模型刚刚不起作用的项目,他们提出了一种重构模型以引入新概念的方法,并且完全改变了项目。

  看看这三个级别,如果你可以在模型中引入新概念,那就是更强大的重构,我认为你需要擅长微观重构并使用模式来充分利用重构到更深层次的模型, 届时再引入新概念。

 #refactor重构  

敏捷