簡化條件表達式相關重構手法express
1.decompose conditional(分解條件表達式)(你有一個複雜的條件if then else語句,從if then else 中提煉出獨立的函數)函數
如測試
2.consolidate conditional expression(合併條件表達式)(你有一系列的條件 測試都獲得相同的結果。把這些測試合併爲一個條件表達式,並將這個條件表達式提煉爲一個獨立的函數)spa
3.consolidate duplicate conditional fragments(合併重複的條件片斷)(在條件表達式的每一個分支上有着相同的一段代碼。把這段成都代碼搬移到條件表達式以外)對象
4.remove control flag(移除控制標記)(在一系列布爾表達式中,某個變量帶有控制標記的做用。以break 或者 retuern 代替控制標記)rem
如it
5.replace nesten conditional with guard clauses(用 衛語句取代嵌套條件表達式。函數中的條件邏輯令人難以看清正常的執行路徑。使用衛語句來表現全部特殊狀況)io
如變量
6.replace conditional with polymorphism(多態替代條件表達式)(你有個條件表達式 他們根據對象類型 的不一樣而選擇不一樣的行爲。把這個條件表達式的每一個分支放進一個子類內的重寫函數中,而後把原始的函數申明爲一個抽象函數)重構
7.introduce null object(引入null對象)(你須要再三檢查某對象是否爲null。把null值替換爲null對象)
8.introduce assertion(引入斷言)(某一段代碼須要對程序狀態作出某種假設。用斷言來表現這種假設)