3.重新组织函数
1>提炼函数。颗粒度-->复写。标准 函数名称--函数本体的距离
无局部变量。 有局部变量,不赋值。 有局部变量,赋值。 怎么办?
返回的变量不止一个怎么办?
2>在函数调用点插入函数本体,然后移除改函数-->去除无用的简介层-->内联函数
3>内联临时变量
4>只被赋值一次的临时变量-->局部变量会使得代码难以被提炼-->替换为查询式-->以查询替换为临时变量
5>引入解释性变量-->Extract Method替代变量
final boolean isMacOs = ?
final boolean isIEBrowser =?
final boolean wasResized = ?
if(isMacOs && isIEBrowser && wasResized){}
6>针对每次赋值,创建独立的、应对的临时变量-->责任-->分解临时变量
7>引用对象重新指向的问题--->移除对参数的赋值 参数上强制加关键词final
8>以函数对象取代函数-->Extract Method不必担心参数传递的问题
9>替换算法-->例子 集合替换多重判断