重構-改善既有代碼的設計-簡化函數調用

簡化函數調用相關重構手法ide

1.rename method(函數更名)(函數名稱未能揭示函數的用途。修改函數名稱)函數

2.add parameter(添加參數)(爲此函數添加一個對象參數,讓該對象帶進函數所需信息)測試

3.remove parameter (移除參數)(函數本體再也不須要某個參數。將該參數移去)spa

4.separate query from modifier(把查詢函數和修改函數分離。某個函數返回對象狀態值,又修改了對象狀態。創建2個不一樣的函數,其中一個負責查詢,另外一個負責修改)code

5.parameter method(令函數攜帶參數)(若幾個函數作了相似的工做,可是函數本體卻包含了不一樣的值。創建一個單一函數,以參數表達那些不一樣的值)對象

6.replace parameter with explicit methods(以明確函數取代參數)(你有一個函數,其中徹底取決於參數值而採起不一樣行爲。針對參數的每個可能值,創建一個獨立的函數)ci

7.preserve whole object(保持對象完整)(你從某個對象中取出若干值,將他們做爲某次函數調用的參數。改成傳遞整個對象)rem

8.replace parameter with methods(以函數取代參數)(對象調用某個函數,並將所取得結果做爲參數,傳遞給另外一個函數,而接受該參數的函數自己也可以調用前一個函數。讓參數接受者去除該項參數,而且直接調用前一個函數)it

9.introduce parameter object(引入參數對象)(某些參數老是很天然地同時出現。以一個對象取代這些參數)io

10.remove setting method(移除設置器)(類中某個變量在對象建立時被賦值,而後再也不改變。去掉字段的全部賦值函數)

11.hide method(隱藏函數)(有一個函數,歷來沒有被其餘任何類用到。把這個函數修改成private)

12.replace constructor with factory method(以工廠函數取代構造函數)(你指望在建立對象時不單單作簡單的構建工做。將構造函數替換爲工廠函數)

13.encapsulate downcast(封裝向下轉型)(某個函數返回的額對象,須要由函數調用者執行向下轉型。將向下轉型動做移到函數中)

14.replace error code with exception (異常取代錯誤碼)(某個函數返回一個特定的代碼,用於表示某種錯誤狀況。改用異常)

15.replace exception with test(測試取代異常)(面對一個調用者能夠預先檢查的條件,你跑出了一個異常。修改調用者,使她在調用前先作個檢查)

相關文章
相關標籤/搜索