天天看點

代碼整潔之道—類

遵循Java約定,類應該從一組變量清單開始。如果有公共靜态常量,應該先出現,然後是私有靜态變量,以及私有實體變量。很少出現公共變量。

對于函數,我們通過計算代碼行數衡量大小。對于類,我們采用不同的衡量方法,計算權責(responibility)。

類的名稱應該描述其權責,命名正是判斷類的權責的第一個方法,如果無法為某個類命以精确的名稱,這個類大概太長了。類名越混亂,該類可能擁有過多的權責。

單一權責原則

類或子產品有且僅有一條加以修改的理由。鑒别權責可以幫助我們更好的認識到類,并且創造出更好的抽象,将多個權責的類拆解到其它的類中。

系統應該由許多短小的類而不是巨大的類組成。每個小類封裝為一個權責,隻有一個修改的原因,并與少數其它類一起協同達成期望的系統行為。

内聚

如果一個類中的每個變量都被每個方法所使用,則該類具有最大的内聚性。一般來說,建立這種極大化内聚類是既不可取也不可能的,另一方面,内聚性高,意味着類中的方法和變量互相依賴,互相結合成一個邏輯整體。

保持函數和參數清單短小的政策,有時會導緻為一組子集方法所用的實體變量數量增加。出現這種情況時,意味着至少有一個類要從大類中掙紮出來。可以嘗試将多餘變量拆解到兩個或多個類中,讓新的類更為内聚。

最後

類的靈活性,給了我們很大的改善空間,想要更好的組織類之間的關系,需要學習 設計模式 ,暫時隻說到這裡。