重構 - 改善既有程式的設計 - Composing Methods
April 18, 2020這篇文章討論《重構 - 改善既有程式的設計》裡的第六章 - Composing Methods
主要會討論程式碼的壞味道中 沒有被提及的重構方法裡面有關於 重新組織你的函式 的內容
圖片以及程式碼來源自重構 - 改善既有程式的設計
重新組織你的函式
Extract Method
你有一段程式碼可以被組織在一起並獨立出來 你就該把那段程式碼分離成單獨的函式
Extract Variable
用好的變數名稱來解釋運算式用途
Replace Temp with Query
用一個獨立的函式來取代暫時的區域變數
Remove Assignments to Parameters
不要對參數進行賦值的動作 比如說
int discount(int inputVal, int quantity) {
if (inputVal > 50) {
inputVal -= 2;
}
}
inputVal
是你的輸入變數 盡量不要去給他一個全新的值
int discount(int inputVal, int quantity) {
int result = inputVal;
if (inputVal > 50) {
result -= 2;
}
}
你就先用一個變數把結果先記下來 之後愛怎麼玩就怎麼玩
注意 如果是改動的話 那還可以接受
void aMethod(Object foo) {
foo.modifyInSomeWay(); // 還OK
foo = anotherObject; // 別這麼幹
}
Replace Method with Method Object
把區域變數變成物件內的欄位 就不用在函式之間把變數傳來傳去