摘要:
概括以一个临时变量保存某一个表达式的运算结果。将这个表达式提炼到一个独立函数汇总。将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可被其它函数使用。 例子double basePrice = _quantity * _itemPrice;if(basePrice > 1000) return basePrice*0.95;else return basePrice*0.5;重构... 阅读全文
摘要:
概括一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其他重构方法。将所有对该变量的引用替换为对它赋值的那个表达式本身。 例子double basePrice = anOrder.basePrice();return (basePrice > 1000)重构之后return (anOrder.basePrice() > 1000)动机Iniline Temp多半是作为Replace Temp ... 阅读全文
摘要:
概括一个函数的内部代码与名称同样清晰易懂。在函数调用点插入函数本体,然后移除该函数。 例子int getRating(){ return (moreThanFiveLateDeliveries()) ? 2 : 1;}boolean moreThanFiveLateDeliveries(){ return _numberOfLateDeliveries > 5;} 重构之后int getR... 阅读全文
摘要:
概括有一段代码可以被组织在一起并独立出来。将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 例子voidprintOwing(doubleamount){ printBanner();//print details System.out.println("name:"+_name); System.out.println("amount:"+amount);} 重构之后... 阅读全文