序章¶
框架设计知道,这种东西不可能一开始就完全正确
书本的核心是一系列完整的重构方法,其中每一项都介绍一种经过实践检验的代码变换首发的动机和技术。
前言¶
什么是重构¶
所谓重构(refactoring)是这样的一个过程:在不改变代码外在行为的前提下,对代码做出修改,已改进程序内部结构。重构是一种千锤百炼形成的有条不絮的程序整理方法,可以最大限度的减少整理过程中引入错误的概率。本质上说,重构就是在代码写好之后改进它的设计。
大部分人相信应该先设计后编码:首先得有一个良好的设计,然后才能开始编码。但是随着时间的流逝,人们不断修改代码,于是根据原先设计所得的系统,整体结构逐渐变弱。代码质量慢慢沉沦,编码工作从严谨的工程堕落为互砍乱劈的随性行为。
“重构**”正好于此相反。哪怕有一个糟糕的设计,甚至是一堆混乱的代码,我们也可以借由将他加工成设计良好的代码。
重构的每个步骤都很简单,甚至显得**过于简单**:只需把某个字段从一个类转移到另一个类,把某些代码从一个函数拉出来构成另一个函数,或是在继承系统中把某些代码推上推下就行了。但是聚沙成塔,这些小小的修改累积起来就可以根本改善设计质量。
有了重构以后,工作的平衡点开始发生变化。在系统构筑过程中,可以学习不断改进设计。这个“构筑 - 设计”的反复互动,可以让一个程序在开发过程中持续抱有良好的设计。