重構 Move Method 筆記

2021-09-06 00:27:45 字數 928 閱讀 2765

重構: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 用建構函...