2020年4月27日 星期一

"The Clean Code Talks -- Inheritance, Polymorphism, & Testing" 整理


重點整理:
  • 讓程式碼更好懂、更好測試與更好擴充
  • 盡可能用多型代替if
  • 一個類別負責一種事情
  • 若看到switch則用多型代替
  • 若出現重複判斷某個flag的if則用多型替代
  • 把建構子類別(工廠模式)與業務邏輯類別分開,在建構時做if判斷,處理業務邏輯時就不用一直做if判斷
優點:
  • 多型能讓不同的功能分散在不同檔案
  • 程式碼更好被理解與測試
  • 能讓重複的if判斷改成集中在一個地方
  • 不再有重複的程式碼,減少錯誤發生
  • 用類別將負責工作分開,不再需要全域變數做狀況判斷
Q&A重點整理:
  • 確保類別只單一繼承,多重繼承表示類別負責多種事情
  • 多型在運算子實例化時就決定,類別的方法只會給那個類別用,不會一個類別只在某些狀況用到某些方法,另一些方法在別種狀況才用到

練習:
寫一個小專案盡可能用多型代替if

沒有留言:

張貼留言