代碼整潔之道(Clean Code)讀書筆記

第一章

什么是整潔代碼

  1. 沒有重復(fù)的代碼
  2. 利于后期維護(hù)
  3. 高內(nèi)聚,低耦合
  4. 包含盡量少的實(shí)體,如類,方法,函數(shù)
  5. 能通過所有的測(cè)試
第二章

類,函數(shù),參數(shù)以及目錄文件的命名規(guī)則(做有意義的命名)

  1. 做有意義的區(qū)分

以數(shù)字命名是依義命名的對(duì)立面,如item1,item2...根據(jù)參數(shù)的含義命名;

不要使用含義相近的函數(shù)命名,如getUserInfo,getUser等意義含混的命名;

  1. 使用可以讀的出來的單詞(英語單詞不要使用自造詞)
  2. 使用可搜索的名稱(用var聲明全局的大寫變量)
  3. 避免使用編碼
  4. 避免思維映射(使用讀者可懂的命名)
  5. 類名

避免使用Data,Info這樣沒有標(biāo)志性的名詞;

使用名詞或名詞短語;

盡量簡(jiǎn)短;

7.方法名

使用動(dòng)詞或動(dòng)詞短語;

依Javabean標(biāo)準(zhǔn)加上set,get,is前綴;

  1. 每個(gè)概念對(duì)應(yīng)一個(gè)詞
  2. 別用雙關(guān)語(如add,使用append,insert代替)
  3. 添加有意義的語境

firstName,lastName,street改為addrFirstName,addrLastName,addrStreet

  1. 不要添加沒用的語境
第三章

函數(shù)

  1. 短小
  2. 代碼塊和縮進(jìn)
  3. 只做一件事
  4. 每個(gè)函數(shù)一個(gè)抽象層級(jí)(自頂向下讀代碼,向下規(guī)則)
  5. switch語句(寫在類的繼承關(guān)系中)
  6. 使用描述性的名稱
  7. 函數(shù)參數(shù)

標(biāo)志參數(shù):參數(shù)類型為boolean,應(yīng)該拆成兩個(gè)函數(shù)

二元函數(shù):轉(zhuǎn)換成一元函數(shù)處理(寫成當(dāng)前類的成員變量)

參數(shù)對(duì)象:如果有兩個(gè),三個(gè)或三個(gè)以上的參數(shù),把其中一些參數(shù)封裝成類

參數(shù)列表:向函數(shù)傳入數(shù)量可變的參數(shù)({...args})

動(dòng)詞與關(guān)鍵字:函數(shù)名稱以及參數(shù)名稱的命名

  1. 無副作用
  2. 錯(cuò)誤處理

把try/catch里面的代碼塊抽象成一個(gè)函數(shù)。catch/finally后面不應(yīng)該有任何代碼

  1. 不要重復(fù)自己
第四 五章

注釋與格式

  1. 盡量少的注釋
  2. 代碼格式:可讀性與可維護(hù)性
  3. 垂直格式:自頂向下的規(guī)則,用空白行表示一個(gè)獨(dú)立概念的開始
  4. 橫向格式:每行代碼的長(zhǎng)度盡量短小
第六章

對(duì)象和數(shù)據(jù)結(jié)構(gòu)

第七章

錯(cuò)誤處理

第八章

邊界

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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