重構 43新增引數(Add Parameter)

2021-09-22 20:39:38 字數 388 閱讀 8722

新增引數(add parameter)

某個函式需要從呼叫端得到更多資訊;為此函式新增乙個物件,讓該物件帶進函式所需資訊

一、動機

你必須修改乙個函式,而修改後的函式需要一些過去沒有的資訊,因此你要給函式新增乙個引數

二、做法

1、檢查函式簽名是否被超類或者子類實現,如果是,則需要針對每份實現分別進行下列步驟

2、宣告乙個新函式,名稱與原函式相同,只是加上新添引數。將舊函式**複製到新函式中

3、編譯

4、修改舊函式,令它呼叫新函式

5、編譯,測試

6、找出舊函式所有的引用點,將它們全部修改為對新函式的引用。每次修改後,編譯並測試

7、刪除舊函式,或者deprecated

8、編譯,測試

4 3 重構查詢方式

設計查詢的時候乙個需要考慮的重要問題是,是否需要將乙個複雜的查詢分成許多簡單的查詢。mysql內部每秒能夠掃瞄記憶體中上百萬行資料,相比之下,mysql響應資料給客戶端就慢的多了。所以,有時候將乙個大的查詢分解為多個小查詢是有必要的。4.3.1 切分查詢 乙個大查詢如果一次性執行的話,可能一次鎖住很...

C 重構之五(移除引數重構)

移除引數重構 c remove parameters是一項重構操作,提供了一種將形參從方法 索引器或委託中移除的簡單方法。移除引數 會更改宣告 並在呼叫該成員的所有位置移除形參,從而反映新的宣告。要執行 刪除引數 操作,請首先將游標放在方法 索引器或委託上。當游標位於適當的位置時,若要呼叫 remo...

重構學習2 消除過長引數

動機 乙個方法裡的引數過長,過長的引數列導致方法很難使用,因為這些引數太長難以理解,而且呼叫者和被呼叫者都必須記住這些引數的用途,另乙個原因是一旦需要更多資料,就可能要增加引數或者過載這個方法。所以消除過長引數往往能提高 的可讀性。方法 一 如果引數的值是通過呼叫某個函式的結果得來的,則去掉該引數,...