懒惰是程序员的美德之一,绝不要因为这本书让你变得勤快

什么是重构(refactoring)

所谓重构是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,已改进程序的内部结构.

1.1 起点

如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,是特性的添加比较容易进行,然后再添加特性

1.2 重构的第一步

重构之前,首先检查自己是否有一套可靠的测试机制.这些测试必须有自我检验能力.

1.3 分解并重组

长函数切开,并把较小块的代码移至更合适的类

例如 switch语句,把它提炼到独立的函数中比较好.

会被修改的变量建议当做返回值.

重构技术就是以微小的步伐修改程序.如果你犯下错误,很容易便可发现他

任何一个傻瓜都能写出计算机可以理解的代码.唯有写出人类容易理解的代码,才是优秀的程序员.

去临时变量

临时变量只在所属函数中有效,他们会助长冗长复杂的函数.

1.4 运用多态取代与价格相关的逻辑条件

引入State 模式 case 分支 放入类的覆盖函数中

1.5 结语

重构行为都使责任的分配更合理,代码的维护更轻松
重构后的程序风格将迥异于过程化风格

重构节奏:测试,小修改...测试,小修改