1. 程式人生 > >我的重構第三步

我的重構第三步

extract 名稱 每次 傳遞 參數傳遞 組織函數 boolean 距離 分解

3.重新組織函數

1>提煉函數。顆粒度-->復寫。標準 函數名稱--函數本體的距離

無局部變量。 有局部變量,不賦值。 有局部變量,賦值。 怎麽辦?

返回的變量不止一個怎麽辦?

2>在函數調用點插入函數本體,然後移除改函數-->去除無用的簡介層-->內聯函數

3>內聯臨時變量

4>只被賦值一次的臨時變量-->局部變量會使得代碼難以被提煉-->替換為查詢式-->以查詢替換為臨時變量

5>引入解釋性變量-->Extract Method替代變量

final boolean isMacOs = ?

final boolean isIEBrowser =?

final boolean wasResized = ?

if(isMacOs && isIEBrowser && wasResized){}

6>針對每次賦值,創建獨立的、應對的臨時變量-->責任-->分解臨時變量

7>引用對象重新指向的問題--->移除對參數的賦值 參數上強制加關鍵詞final

8>以函數對象取代函數-->Extract Method不必擔心參數傳遞的問題

9>替換算法-->例子 集合替換多重判斷


我的重構第三步