一、重构函数 法则:
1. Extract Method
将这段代码放进一个独立函数中,并让函数名称解释该函数的用途
2. Inline Method
一个函数,其本体应该与其名称同样清楚易懂。在函数调用点插入函数本体,然后移除该函数。
3. Inline Temp
一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其他重构。将所有对该变量的引用动作,替换为对它复制的那个表达式自身。
4. Replace Temp with Query
你的程序以一个临时变量保存某一表达式的运算结果哦。
将这个表达式提炼到一个独立函数中。将这个临时变量的所有被引用点替换为对新函数的调用。新函数可以被其他函数使用。
5. Introduce Explaining Variable
你有一个复杂的表达式, 将该复杂表达式(或者其中一部分)的结果放进一个临时变量,以此变量名称来解释表达式用途。
6. Split Temporary Variable(剖解临时变量)
你的程序有个临时变量被赋值超过一次,它既不是循环变量,也不是一个集合对象。针对每次赋值,创造一个独立的、
对应的临时变量。
7. Remove Assignment to Parameters
你的代码对一个参数进行赋值,以一个临时变量取代该参数的位置。
8. Replace Method with Method Object
你有一个大型函数,其中对局部变量的使用,使你无法采用Extract Mehtod将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的值域,然后你可以在同一个对象中对这个大型函数分解为数个小型函数。
9. Substitute Algorithm
你想要把某个算法替换为另一个更清晰的算法。将函数本体替换为另一个算法。