《编写可读代码的艺术》读后总结
生活随笔
收集整理的這篇文章主要介紹了
《编写可读代码的艺术》读后总结
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼應(yīng)當(dāng)易于理解
代碼的寫(xiě)法應(yīng)當(dāng)使他人理解它所需的時(shí)間最小化把信息裝進(jìn)名字中
清晰和精確比裝可愛(ài)好 使用專業(yè)的詞 使用詳細(xì)的名字來(lái)更仔細(xì)地描寫(xiě)敘述事物 給變量名帶上重要的細(xì)節(jié) 為作用域大的名字採(cǎi)用更長(zhǎng)的名字 有目的地使用大寫(xiě)和小寫(xiě)。下劃線等 要多問(wèn)自己幾遍:“這個(gè)名字會(huì)被別人解讀成其它的含義嗎?” 要仔細(xì)審視這個(gè)名字,不會(huì)被誤解的名字是最好的名字 命名極限最清晰的方式是在要限制的東西前加上max_或者min_ 為布爾值命名時(shí),避免使用反義的詞(比如disable_ssl) 要小心用戶對(duì)特定詞的期望。比如,用戶會(huì)期望get()或者size()是輕量的方法
審美
一致的風(fēng)格比“正確”的風(fēng)格更重要 假設(shè)多個(gè)代碼塊做類似的事情。嘗試讓他們有相同的剪影 把代碼按“列”對(duì)齊能夠讓代碼更easy瀏覽 假設(shè)在一段代碼中提到A,B,C。那么不要在還有一段中說(shuō)B,C,A。選擇一個(gè)有意義的次序。并始終用這種順序 用空行來(lái)把大塊代碼分成邏輯上的“段落”凝視
凝視的目的是盡量幫助讀者了解的和作者一樣多 什么地方不須要凝視:- 能從代碼本身中迅速地判斷的事實(shí)- 用來(lái)粉飾爛代碼的“拐杖式凝視”--應(yīng)該把代碼改好 你應(yīng)當(dāng)記錄下來(lái)的想法包含:- 對(duì)于為什么代碼寫(xiě)成這樣而不是那樣的內(nèi)在理由(“指導(dǎo)性批注”)- 代碼中的缺陷,使用像TODO:或者XXX:這種標(biāo)記- 常量背后的故事,為什么是這個(gè)值 站在讀者的立場(chǎng)上思考:- 預(yù)料到代碼中哪些部分會(huì)讓讀者說(shuō):“啊?” 而且給他們加上凝視- 為普通讀者意料之外的行為加上凝視- 在文件/類的級(jí)別上使用“全局觀”凝視來(lái)解釋全部的部分是怎樣一起工作的- 用凝視來(lái)總結(jié)代碼塊,使讀者不至于迷失在細(xì)節(jié)中 凝視應(yīng)當(dāng)有非常高的信息/空間率 盡量精確地描寫(xiě)敘述函數(shù)的行為 在凝視中用精心挑選的輸入/輸出樣例進(jìn)行說(shuō)明 聲明代碼的高層次意圖,而非明顯的細(xì)節(jié) 用含義豐富的詞來(lái)使凝視簡(jiǎn)潔控制流
把條件。循環(huán)以及其它對(duì)控制流的改變做的越“自然”越好,運(yùn)用一種方式使讀者不用停下來(lái)重讀你的代碼 相對(duì)于追求最小化代碼行數(shù),一個(gè)更好的度量方法是最小化人們理解它所需的時(shí)間 當(dāng)你對(duì)代碼做修改時(shí),從全新的角度審視它。把它作為一個(gè)總體來(lái)看待 在寫(xiě)一個(gè)比較時(shí),把改變的值寫(xiě)在左邊而且把更穩(wěn)定的值寫(xiě)在右邊更好一些 你也能夠又一次排列if/else語(yǔ)句中的語(yǔ)句塊,通常來(lái)講。先處理正確的/簡(jiǎn)單的/有趣的情況 盡量不要用三目運(yùn)算符 嵌套的代碼塊須要更加集中精力去理解,應(yīng)該把它們改寫(xiě)成更加“線性”的代碼來(lái)避免深淺套 通常來(lái)講提早返回能夠降低嵌套并讓代碼整潔表達(dá)式
把你的超長(zhǎng)表達(dá)式拆分成更easy理解的小塊 要小心“智能”的小代碼塊--它們往往在以后會(huì)讓別人讀起來(lái)感到困惑 引入“解釋變量”來(lái)代表較長(zhǎng)的子表達(dá)式,這種方式有三個(gè)優(yōu)點(diǎn):- 它把巨大的表達(dá)式拆成小段- 它通過(guò)用簡(jiǎn)單的名字描寫(xiě)敘述子表達(dá)式來(lái)讓代碼文檔化- 它幫助讀者識(shí)別代碼中的主要概念 用德摩根定理來(lái)操作邏輯表達(dá)式--能夠把布爾表達(dá)式用更整潔的方式重寫(xiě)(比如if(!(a&&!b))變成if(!a||b)) 有時(shí)須要把問(wèn)題“反向”或者考慮目標(biāo)的對(duì)立面變量與可讀性
你希望你的同事隨時(shí)都認(rèn)為是在面試嗎 讓你的變量對(duì)盡量少的代碼行可見(jiàn) 操作一個(gè)變量的地方越多。越難以確定它的當(dāng)前值 降低變量,即那些妨礙的變量 減小變量的作用域。越小越好,把變量移到一個(gè)有最少代碼能夠看到它的地方,眼不見(jiàn),心不煩 僅僅寫(xiě)一次的變量更好。那些僅僅設(shè)置一次值的變量(或者const, final, 常量)使得代碼更easy理解又一次組織代碼
把一般代碼和項(xiàng)目專有的代碼分開(kāi) 應(yīng)該把代碼組織得一次僅僅做一件事情 把想法變成代碼,用自然語(yǔ)言描寫(xiě)敘述解決方式 最好的代碼就是沒(méi)有代碼 刪除無(wú)用的代碼 從項(xiàng)目中消除不必要的功能,不要過(guò)度設(shè)計(jì) 又一次考慮需求,解決版本號(hào)最簡(jiǎn)單的問(wèn)題。僅僅要能完畢工作即可 常常性地通讀標(biāo)準(zhǔn)庫(kù)的整個(gè)API,保持對(duì)他們的熟悉程度--“不要反復(fù)造輪子”測(cè)試
測(cè)試也應(yīng)當(dāng)具有可讀性。以便其它程序猿能夠舒服地改變或者添加測(cè)試 對(duì)使用者隱去不重要的細(xì)節(jié),以便更重要的細(xì)節(jié)會(huì)更突出 讓錯(cuò)誤消息具有可讀性 又簡(jiǎn)單又能完畢工作的測(cè)試值更好 每一個(gè)測(cè)試的最高一層應(yīng)該越簡(jiǎn)明越好。最好每一個(gè)測(cè)試的輸入/輸出能夠用一行代碼來(lái)描寫(xiě)敘述 假設(shè)測(cè)試失敗了,它所發(fā)出的錯(cuò)誤消息應(yīng)該能讓你easy跟蹤并修正這個(gè)bug 使用最簡(jiǎn)單的而且能夠完整運(yùn)用代碼的測(cè)試輸入 給測(cè)試函數(shù)取一個(gè)有完整描寫(xiě)敘述性的名字,以使每一個(gè)測(cè)試所測(cè)到的東西非常明白,不要使用test1()。而要使用test_<functionName>這種名字 最重要的是。要使它易于修改和添加新的測(cè)試轉(zhuǎn)載于:https://www.cnblogs.com/zfyouxi/p/5096685.html
總結(jié)
以上是生活随笔為你收集整理的《编写可读代码的艺术》读后总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安装 Flex2packagebeta_
- 下一篇: 圣思园java se培训总结(82-)(