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