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>替换算法-->例子 集合替换多重判断