序言中,熊杰对重构的思考:
认为存在的问题:
1. 认为掌握思想就够了,不重重构手法
2. 大刀阔斧的修改,甚者重建整个项目
重新认识:
1. 不要大刀阔斧——重构的基本定义:重构是在不改变软件可观察行为的前提下改善其内部结构。
依靠的是那些已经被证明是行为保持的重构手法:整理出可测试的接口,给它添加测试,以此为重构的立足点。
2. 不要只重视思想——让重构发挥威力,就必须做到“不需了解软件行为”。
这个过程之所以可行,全赖你在脑子里记录着一份坏味道与重构手法的对应表。
安全的方式重构的话,我们仍然必须遵循这些看似琐碎的做法指导(加上语言特有的细节调整),按部就班地进行。
我的总结:
重构手法,是安全的,经过反复实践证明的。
只掌握思想是远远不够的,要勤学苦练,记住所有坏味道,记住他们对应的重构手法,才能够面对各种复杂的情况。
重构诱人和神奇的地方在于,我们可以不需要理解“软件行为”,即可开始重构,进而帮助我们更好的理解“软件行为”。
前言部分:
1. 代码被阅读和被修改的次数远远多于它被编写的次数。保持代码易读、易修改的关键,就是重构——对框架而言如此,对一般软件也如此。
2. 设计模式为重构提供了目标。然而“确定目标”只是问题的一部分而已,改造程序以达到目标,是另一个难题。
3. 所谓重构(refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。重构是一种经千锤百炼形成的有条不紊的程序整理方法,可以最大限度地减少整理过程中引入错误的几率。本质上说,重构就是在代码写好之后改进它的设计。
代码前设计:
代码修改阶段,整体结构容易衰落,从而难以严谨的编写设计良好的代码
重构:
正好相反,重构可以从一个糟糕到代码,加工成设计良好的代码
因此,代码前设计和重构,是相辅相成的维护良好设计的手段。
这就是在说将设计过程,融合到整个开发过程中。