重構:move method
move method就是將方法遷移到合適的位置。
條件:當乙個方法被其他類使用比在它所在類中的使用還要頻繁時,我們就需要將方法遷移到更頻繁地使用它的類中(move method重構)
範例如下:
public
class
bankaccount
public
intaccountnum
public
double
calculateinterestrate()
}public
class
accountinterest
public
accountinterest(bankaccount account)
public
double
interestrate
}public
bool
introductoryrate}}
發現後者比前者使用標註中的方法的頻率更高,因此將該方法移動至後者中。
修改後**:
public
class
bankaccount
public
intaccountnum
}public
class
accountinterest
public
accountinterest(bankaccount account)
public
double
interestrate
}public
bool
introductoryrate
}public
double
calculateinterestrate()}
**操作更加清晰,直觀。功能單一化。
重構第2天 方法搬移(Move Method)
現在就重構來說是非常普通的,雖然我們經常會漏掉或忽略一些需要重構的地方。方法搬移,正如所定義的那樣,把方法搬移到更適合他的位置。讓我們看看下面這一段重構前的 理解 方法搬移,正如所定義的那樣,把方法搬移到更適合他的位置。詳解 如果乙個類中某個方法,經常被其他類使用 比自身使用的次數還多 或者這個方法...
7 1 move method 搬移函式
在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。動機 如果乙個類有太多行為,或如果乙個類與另乙個類有太多合作而形成高度耦合,我就會搬移函式。使用另乙個物件的次數比使用自己所駐物件的次數還多。觀察呼叫它的那一端,它呼叫的那一端,以及繼承體系中它...
重構 個人筆記
1 盡量去掉臨時變數 2 以下情況可以重構 2.1 過長函式 1 若 前有注釋 2 若有條件表示式或者迴圈語句 3 重組函式 1 以查詢取代臨時變數 2 乙個臨時變數只承擔乙個職責,需要時分解臨時變數 3 移除對形參的賦值 4 以函式物件取代函式,把函式提煉到實體類內 4 重組組織資料 1 用建構函...