你的程序以一個(gè)臨時(shí)變量(temp)保存某一表達(dá)式的運(yùn)算結(jié)果.
將這個(gè)表達(dá)式提煉到一個(gè)獨(dú)立函數(shù)中.將這個(gè)臨時(shí)變量的所有[被引用點(diǎn)]替換為[對(duì)新函數(shù)的調(diào)用].新函數(shù)可被其他函數(shù)使用.
double basePrice = _quantity * _itemPrice;
if(basePrice > 1000)
return basePrice * 0.95;
else
return basePrice * 0.98;
| |
| |
\ /
if(basePrice() > 1000)
return basePrice() * 0.95;
else
return base() * 0.98;
...
double basePrice() {
return _quantity * _itemPrice;
}