第2章 重构原则2.1 概念 调整软件内部结构,在不改变软件行为前提下,提高其可理解性,降低修改成本。 重构使软件更容易被理解和修改。可以在软件内部做很多修改,但必须对软件可观察到的外部行为造成很小变化,或不造成变化。 和重构形成对比的是“ 性能优化” 。性能优化通常不会改变组件的行为(除了执行速度),只会改变其内部结构。 两者出发点不同,性能优化往往使代码较难理解,但为了得到所需性能不得不那么做。 2.2 重构目的 改进软件设计 如果没有重构,程序的设计会变差。 当人们只为短期目的或者在完全理解整体设计之前,贸然修改代码,程序将逐渐失去自己的结构,程序员越来越难以通过阅读源码而理解原本设计。代码结构的流失是累积性的。越难看出代码所代表的设计意涵,就越难保护其中设计,于是该设计就腐败得愈快。 重构很像是在整理代码 ,所做的就是让所有东西回到应该的位置上。经常性的重构可以帮助代码维持自己该有的形态 。 同样完成一件事,设计不良的程序往往需要更多代码,这常常是因为代码在不同的地方使用完全相同的语句做同样的事。因此改进设计的一个重要方向就是消除重复代码。 这个动作的重要性着眼于未来。代码数量