Dustin Boswell 畢業於加州理工大學,資深軟件工程師,在Google就職多年,負責Web爬蟲和程序設計相關的工作。他專注於前端、後端,服務器架構、機器學習、大數據、係統和網站等技術領域的研究和實踐,經驗十分豐富。他現在是MyLikes的軟件工程師。
Trevor Foucher 資深軟件工程師和技術經理,先後在Microsoft和Google工作瞭數十年,在Microsoft擔任軟件工程師、技術經理以及安全産品技術主管,在Google從事廣告應用開發和搜索基礎結構研發相關的工作。
前言 1
第1章 代碼應當易於理解 5
是什麼讓代碼變得“更好” 6
可讀性基本定理 7
總是越小越好嗎 7
理解代碼所需的時間是否與其他目標有衝突 8
最難的部分 8
第一部分 錶麵層次的改進 9
第2章 把信息裝到名字裏 11
選擇專業的詞 12
避免像tmp和retval這樣泛泛的名字 14
用具體的名字代替抽象的名字 17
為名字附帶更多信息 19
名字應該有多長 22
利用名字的格式來傳遞含義 24
總結 25
第3章 不會誤解的名字 27
例子:Filter() 28
例子:Clip(text, length) 28
推薦用first和last來錶示包含的範圍 29
推薦用begin和end來錶示包含/排除範圍 30
給布爾值命名 30
與使用者的期望相匹配 31
例子:如何權衡多個備選名字 33
總結 34
第4章 審美 36
為什麼審美這麼重要 37
重新安排換行來保持一緻和緊湊 38
用方法來整理不規則的東西 40
在需要時使用列對齊 41
選一個有意義的順序,始終一緻地使用它 42
把聲明按塊組織起來 43
把代碼分成“段落” 44
個人風格與一緻性 45
總結 46
第5章 該寫什麼樣的注釋 47
什麼不需要注釋 49
記錄你的思想 52
站在讀者的角度 54
最後的思考——剋服“作者心理阻滯” 58
總結 59
第6章 寫齣言簡意賅的注釋 60
讓注釋保持緊湊 61
避免使用不明確的代詞 61
潤色粗糙的句子 62
精確地描述函數的行為 62
用輸入/輸齣例子來說明特彆的情況 63
聲明代碼的意圖 64
“具名函數參數”的注釋 64
采用信息含量高的詞 65
總結 66
第二部分 簡化循環和邏輯 67
第7章 把控製流變得易讀 69
條件語句中參數的順序 70
if/else語句塊的順序 71
?:條件錶達式(又名“三目運算符”) 73
避免do/while循環 74
從函數中提前返迴 76
臭名昭著的goto 76
最小化嵌套 77
你能理解執行的流程嗎 80
總結 81
第8章 拆分超長的錶達式 82
用做解釋的變量 83
總結變量 83
使用德摩根定理 84
濫用短路邏輯 84
例子:與復雜的邏輯戰鬥 85
拆分巨大的語句 87
另一個簡化錶達式的創意方法 88
總結 89
第9章 變量與可讀性 91
減少變量 92
縮小變量的作用域 94
隻寫一次的變量更好 100
最後的例子 101
總結 103
第三部分 重新組織代碼 105
第10章 抽取不相關的子問題 107
介紹性的例子:findClosestLocation() 108
純工具代碼 109
其他多用途代碼 110
創建大量通用代碼 112
項目專有的功能 112
簡化已有接口 113
按需重塑接口 114
過猶不及 115
總結 116
第11章 一次隻做一件事 117
任務可以很小 119
從對象中抽取值 120
更大型的例子 124
總結 126
第12章 把想法變成代碼 127
清楚地描述邏輯 128
瞭解函數庫是有幫助的 129
把這個方法應用於更大的問題 130
總結 133
第13章 少寫代碼 135
彆費神實現那個功能——你不會需要它 136
質疑和拆分你的需求 136
保持小代碼庫 138
熟悉你周邊的庫 139
例子:使用Unix工具而非編寫代碼 140
總結 141
第四部分 精選話題 143
第14章 測試與可讀性 145
使測試易於閱讀和維護 146
這段測試什麼地方不對 146
使這個測試更可讀 147
讓錯誤消息具有可讀性 150
選擇好的測試輸入 152
為測試函數命名 154
那個測試有什麼地方不對 155
對測試較好的開發方式 156
走得太遠 158
總結 158
第15章 設計並改進“分鍾/小時計數器” 160
問題 161
定義類接口 161
嘗試1:一個幼稚的方案 164
嘗試2:傳送帶設計方案 166
嘗試3:時間桶設計方案 169
比較三種方案 173
總結 174
附錄 深入閱讀 175
· · · · · · (
收起)
細節決定成敗,思路清晰、言簡意賅的代碼讓程序員一目瞭然;而格式淩亂、拖遝冗長的代碼讓程序員一頭霧水。除瞭可以正確運行以外,優秀的代碼必須具備良好的可讀性,編寫的代碼要使其他人能在最短的時間內理解纔行。本書旨在強調代碼對人的友好性和可讀性。
本書關注編碼的細節,總結瞭很多提高代碼可讀性的小技巧,看似都微不足道,但是對於整個軟件係統的開發而言,它們與宏觀的架構決策、設計思想、指導原則同樣重要。編碼不僅僅隻是一種技術,也是一門藝術,編寫可讀性高的代碼尤其如此。如果你要成為一位優秀的程序員,要想開發齣高質量的軟件係統,必須從細處著手,做到內外兼修,本書將為你提供有效的指導。
編寫可讀代碼的藝術 epub pdf mobi txt 電子書 下載 2024
編寫可讀代碼的藝術 下載 epub mobi pdf txt 電子書
評分
☆☆☆☆☆
評分
☆☆☆☆☆
##讀書筆記見:https://www.evernote.com/shard/s583/sh/bd317e5b-b1ee-4d3c-9573-d205714516cb/81cdfb2a0eae6e4f0d080e217359a7f4
評分
☆☆☆☆☆
評分
☆☆☆☆☆
評分
☆☆☆☆☆
評分
☆☆☆☆☆
評分
☆☆☆☆☆
評分
☆☆☆☆☆
##是也乎,( ̄▽ ̄)
其實, 沒解決編程最大睏難:
給對象一個閤適的名稱...
naming 技藝, 得一生磨煉,纔可能...
又否則, 真正有時光機, 可以在項目的未來去 review 所有變量名是否還對味兒...
否則, 寫給人看的代碼, 就象看錯位時代設定的言情小說,
總是感覺哪兒裏不對的樣子...
評分
☆☆☆☆☆
這種關於代碼的書去讀Clean Code和代碼大全就足夠瞭,真的沒必要讀一本又一本。這本書關於注釋的見解還是比較深刻的,其餘的就沒什麼太多營養瞭,而且很囉嗦.....