天天看點

【整理】【代碼的壞味道】過長函數(Long Method)

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

轉載于:https://www.cnblogs.com/zwffff/archive/2010/09/03/1817141.html