改善既有代碼——重構

2016-05-26
新大樓903
曹冬林

定義:保證原有功能的情況下,重組、重排代碼

Y:重構應隨時隨地進行;當看到一個更好的方式來做同一件事的時候
N:穩定的代碼;別人的代碼;沒有重構方案的情況下

代碼的壞味道:

  • Duplicate Code
  • Long Method
  • Large Class
  • Long Parameter List
  • Divergent Change(發散式變化)
  • Shotgun Surgery(散彈式修改)
  • Feature Envy(依戀情結)
  • Switch Statements(Switch驚悚現身)

常用的重構手段:

  • Extract Method(提煉函數)
  • Extract Class(提煉類)
  • Inline Class(將類內聯化)
  • Move Method(搬移函數)

重構技巧:

  • 分解表達式(用函數代替條件表達式)
  • 移除雙重否定
  • 減少臨時變量
  • 提前判斷
  • 冗余方法的分割(提煉方法)
  • 提取代碼中的常量

重構建議:

  • 每次一小步,有目的性的重構
  • 必須測試通過
  • 針對問題而重構
  • 隨時隨地重構
  • 重構結果不改變功能
  • 不要在發布前去重構
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容