一、重新组织函数
1.1、Extract Method (提炼函数)
befor:
void pringOwing(double amount){
printBanner();
//print detail
System.out.println("name:"+_name);
System.out.println("amount:"+amount);
}
after:
void pringOwing(double amount){
printBanner();
printDetails(amount);
}
void printDetails(double amount){
System.out.println("name:"+_name);
System.out.println("amount:"+amount);
}
1.2、Inline Method(内联函数)
before:
void getRating(){
return (moreThanFiveLateDeliveries()) ? 2 : 1;
}
boolean moreThanFiveLateDeliveries(){
return _numberOfLateDeliveries > 5;
}
after:
void getRating(){
return (_numberOfLateDeliveries > 5) ? 2 : 1;
}
1.3、Inline Temp (内联临时变量)
before:
double basePrice = anOrder.basePrice();
return (basePrice>1000);
after:
return (anOrder.basePrice()>1000);