clean code筆記7:類


類的組織

  1. 類應(yīng)該從一組變量列表開始。如果有公共靜態(tài)常量,應(yīng)該先出現(xiàn)。然后是私有靜態(tài)變量,以及私有實體變量。很少會有公共變量(盡量可能公共變量的數(shù)量)。
  1. 公共函數(shù)應(yīng)跟在變量列表之后,最后再是私有函數(shù)。

類應(yīng)該短小

  1. 類名應(yīng)該精確。類的名稱應(yīng)該描述其全責(zé)。
  2. 一個類應(yīng)該只有一個全責(zé)
  3. 內(nèi)聚。類應(yīng)該只有少量實體變量。類中的每個方法都應(yīng)該操作一個或多個這樣的變量。高的內(nèi)聚性,意味著類中的方法和變量互相依賴、互相結(jié)合成一個邏輯整體。
  4. 有時候,隨著對方法的擴(kuò)充,實體變量的數(shù)量開始上升,往往這意味著至少有一個類要從大類里面掙扎出來。重構(gòu)代碼后,實體變量就分給幾個不同的類了。

修進(jìn)類的技巧

我們知道編寫一個類不是一觸而就的,而是通過了無數(shù)次修進(jìn)的。而系統(tǒng)的每處修改(添加功能,改變邏輯方法等)都讓我們冒著系統(tǒng)會出現(xiàn)問題的風(fēng)險。這時候我們要對類加以修進(jìn)(組織和重構(gòu)),以降低修改所面臨的風(fēng)險。

  1. 當(dāng)一個類龐雜巨大需要重構(gòu)的時候,將一個類分隔為幾個類,用明確的功能權(quán)責(zé)來劃分。
  2. 當(dāng)有新特性要添加時,可以寫一個新類,如果能達(dá)到新類只用了原有類的極少數(shù)(一個或兩個)方法時,就是低耦合度。原有類沒有被干擾,新類也相當(dāng)簡潔(只服務(wù)于某個新特性)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,192評論 25 708
  • 蘋果官方文檔翻譯 《Objective-C語言編程》(Programming with Objective-C) ...
    fever105閱讀 26,326評論 19 129
  • 盛夏的雨 醒來 在凌晨四點 冷不丁地 滴答 落在夢中人的胸懷 有顆朱砂痣 兀自 在心房安眠 在盛夏的凌晨的 雨里 ...
    清風(fēng)邐閱讀 262評論 6 9
  • 題目起得越來越不像我了。 說完了朋友,就說說自己。 我是一個懦弱的人,喜歡把一些情感藏在心里。喜歡把看清楚的事憋在...
    一顆李子閱讀 217評論 1 0
  • UBB標(biāo)簽以其更好的安全性,成為論壇發(fā)帖的代碼標(biāo)準(zhǔn);UBB標(biāo)簽還是要解析成HTMl代碼,才能讓瀏覽器認(rèn)識,一般都是...
    tiedong閱讀 1,347評論 0 1

友情鏈接更多精彩內(nèi)容