关于重构

CC,发现自己对重构和重写理解的还不是很到位,遂有此记录。

Martin Flower下的定义:在不改变软件外在行为的前提下,对其内部结构进行改变 ,使之更容易理解,并便于修改

不宜重构的情况:

  • 不要把重构当作先写后改的代名词。那些修补破旧代码的程序员不是在重构,而是在拼凑代码,希望能让软件跑起来。
  • 大规模的重构孕育这灾难。这个时候就需要考虑是不是需要推到重来?