類
類的組織
- 類應(yīng)該從一組變量列表開始。如果有公共靜態(tài)常量,應(yīng)該先出現(xiàn)。然后是私有靜態(tài)變量,以及私有實體變量。很少會有公共變量(盡量可能公共變量的數(shù)量)。
- 公共函數(shù)應(yīng)跟在變量列表之后,最后再是私有函數(shù)。
類應(yīng)該短小
- 類名應(yīng)該精確。類的名稱應(yīng)該描述其全責(zé)。
- 一個類應(yīng)該只有一個全責(zé)。
- 內(nèi)聚。類應(yīng)該只有少量實體變量。類中的每個方法都應(yīng)該操作一個或多個這樣的變量。高的內(nèi)聚性,意味著類中的方法和變量互相依賴、互相結(jié)合成一個邏輯整體。
- 有時候,隨著對方法的擴(kuò)充,實體變量的數(shù)量開始上升,往往這意味著至少有一個類要從大類里面掙扎出來。重構(gòu)代碼后,實體變量就分給幾個不同的類了。
修進(jìn)類的技巧
我們知道編寫一個類不是一觸而就的,而是通過了無數(shù)次修進(jìn)的。而系統(tǒng)的每處修改(添加功能,改變邏輯方法等)都讓我們冒著系統(tǒng)會出現(xiàn)問題的風(fēng)險。這時候我們要對類加以修進(jìn)(組織和重構(gòu)),以降低修改所面臨的風(fēng)險。
- 當(dāng)一個類龐雜巨大需要重構(gòu)的時候,將一個類分隔為幾個類,用明確的功能權(quán)責(zé)來劃分。
- 當(dāng)有新特性要添加時,可以寫一個新類,如果能達(dá)到新類只用了原有類的極少數(shù)(一個或兩個)方法時,就是低耦合度。原有類沒有被干擾,新類也相當(dāng)簡潔(只服務(wù)于某個新特性)。