- 99%的情況下,要把函數變小,隻需要使用Extract Method(提煉函數)新函數。
- 函數有大量參數或臨時變量。
- 嘗試使用Extract Method(提煉函數),将會把大量參數或臨時變量當作參數傳遞到新函數中。不可取!
- 運用Replace Temp with Query(以查詢取代臨時變量)來消除臨時變量。
- 運用Introduce Parameter Object(引入參數對象)和Preserve Whole Object(保持對象完整)将過長的參數清單變得簡潔。
- 如果仍有太多臨時變量和參數,Replace Method with Method Object(以函數對象取代函數)。
- 條件和循環也是提煉的信号,可以使用Decompose Conditional(分解條件表達式)處理條件式,至于循環,可以分别将循環和其内的代碼分别提煉到新的函數中。
轉載于:https://www.cnblogs.com/zwffff/archive/2010/09/03/1817141.html