Extract Method 提炼函数
过长的函数或者一段须要凝视才干理解的代码,就将这段代码放进一个独立的函数中。
-
函数粒度小,复用机会变大,覆写easy。
-
高层函数如一系列凝视
关键看函数名称和函数本体之间的语义距离。
变清晰,做什么来命名
Inline Method 内联函数
有时可内联到一个大函数后,再从中提炼出组织合理的小型函数。
Inline Temp 内联暂时变量
return (order.basePrice>0); //可定义final确定是否被赋值一次
Replace Temp with Query 以查询代替暂时变量
Introduce Explain Variable 引入解释性变量
表达式有可能复杂且难以阅读。
Split Temporary Variable 分解暂时变量
做到每一个变量仅仅承担一个责任
Remove Assignments to Parameters 移除对參数的赋值
以一个暂时变量代替该參数的位置
Replace Method with Method Object 以函数对象代替函数
參数就变成了对象的字段,在这个对象中大型函数能够分解为多个小型函数。
Substitute Algorithm 替代算法
将函数本体替换为还有一个算法,复杂的能够先分解为小型函数
说明
-
《重构-改善既有代码的设计》Martin Fowler 摘要: 第六章 又一次组织函数