1. 程式人生 > 其它 >讀書筆記 《程式碼整潔之道》類

讀書筆記 《程式碼整潔之道》類

類的組織 類是一組變數,出現的順序是
  1. 公共靜態常量
  2. 私有靜態常量
  3. 私有實體變數
  4. 公共函式
  5. 公共函式的私有工具函式
類應該短小 類應該儘量小,函式的小一半由行數控制。對於類來說,應該從類的職責角度來 儘量小。 類的職責應該與類的名稱保持一致,如果這個類無法精確命名,就說明這個類的職責太多了,類的命名中儘量不要包含 if,and,or,but 之類的連線詞 單一權責原則 單一權責認為一個類 有且僅有一條修改的理由,這樣既給出了類的權責定義,又限制了它的長度。 每個達到一定規模的系統 都會有大量的邏輯性和複雜性,要管理這種龐大的程式碼,就需要讓開發知道在哪裡找到東西,所以 這個時候 擁有巨大,多目的類的系統更能讓我們達到目的。 內聚
內聚性指的是類中的變數和方法之間的結合程度,如果一個類中的每個變數都被方法用到了,那麼這個類就有很高的內聚性。 (那麼同理對於元件來說,如果元件裡的data的變數 只在某個方法中用到了 那麼其實就是這個元件的內聚性就不高) 保持內聚 就能得到更小的類(步驟) 1.為了拆分大函式為功能更單一的小函式,我們可能會給這些函式提供入參,更好的辦法是 將這些入參都放在類的公共變數裡去 2.這時候 類裡面某些變數可能只為了某一些小函式存在,內聚性不高。 3.此時我們自然而然的把這些變數和對應的小函式摘出去,就能拆分成更小的類了。 為了修改而組織(開放閉合原則) 類應該對擴充套件開放,對修改封閉。這句話的意思是 如果有一個類,你想新增一個公共功能,那你可以修改這個類的程式碼。但是如果你想修改某個功能讓他能多支援某種場景的話,你就需要寫一個子類,用繼承的這個子類來處理你要做的邏輯,不要去碰原來的邏輯。 隔離修改(依賴倒置原則)
為了降低修改程式碼的風險,減少測試成本,響應需求的頻繁變動。 我們需要將類依賴於抽象的介面,而不是具體細節的函式,比如說某個類裡面有個函式a(),為了修改這個a(),我們可以再建立一個介面a1(), 要加的那部分邏輯可以放在這個a1()裡面,外界要用的時候 直接呼叫a1(). 這樣a()是乾淨的,是被隔離開的。 這樣也叫做解耦。這樣複用度會更高。 依賴倒置原則認為,類應該依賴於抽象,而不是具體。