注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合編寫可讀代碼的藝術(shù)

編寫可讀代碼的藝術(shù)

編寫可讀代碼的藝術(shù)

定 價:¥59.00

作 者: (美)鮑斯維爾(Boswell, D.),富歇(Foucher, T.) 著,尹哲,鄭秀雯 譯
出版社: 機(jī)械工業(yè)出版社
叢編項: O'Reilly精品圖書系列
標(biāo) 簽: 軟件工程/開發(fā)項目管理

ISBN: 9787111385448 出版時間: 2012-07-01 包裝: 平裝
開本: ` 頁數(shù): 240 字?jǐn)?shù):  

內(nèi)容簡介

  細(xì)節(jié)決定成敗,思路清晰、言簡意賅的代碼讓程序員一目了然;而格式凌亂、拖沓冗長的代碼讓程序員一頭霧水。除了可以正確運行以外,優(yōu)秀的代碼必須具備良好的可讀性,編寫的代碼要使其他人能在最短的時間內(nèi)理解才行。本書旨在強調(diào)代碼對人的友好性和可讀性。 《O’Reilly精品圖書系列:編寫可讀代碼的藝術(shù)》關(guān)注編碼的細(xì)節(jié),總結(jié)了很多提高代碼可讀性的小技巧,看似都微不足道,但是對于整個軟件系統(tǒng)的開發(fā)而言,它們與宏觀的架構(gòu)決策、設(shè)計思想、指導(dǎo)原則同樣重要。編碼不僅僅只是一種技術(shù),也是一門藝術(shù),編寫可讀性高的代碼尤其如此。如果你要成為一位優(yōu)秀的程序員,要想開發(fā)出高質(zhì)量的軟件系統(tǒng),必須從細(xì)處著手,做到內(nèi)外兼修,本書將為你提供有效的指導(dǎo)。 主要內(nèi)容: ·簡化命名、注釋和格式的方法,使每行代碼都言簡意賅。 ·梳理程序中的循環(huán)、邏輯和變量來減小復(fù)雜度并理清思路。 ·在函數(shù)級別解決問題,例如重新組織代碼塊,使其一次只做一件事。 ·編寫有效的測試代碼,使其全面而簡潔,同時可讀性更高。

作者簡介

  Dustin Boswell,畢業(yè)于加州理工大學(xué),資深軟件工程師,在Google就職多年,負(fù)責(zé)Web爬蟲和程序設(shè)計相關(guān)的工作。他專注于前端、后端,服務(wù)器架構(gòu)、機(jī)器學(xué)習(xí)、大數(shù)據(jù)、系統(tǒng)和網(wǎng)站等技術(shù)領(lǐng)域的研究和實踐,經(jīng)驗十分豐富。他現(xiàn)在是MyLikes的軟件工程師。 Trevor Foucher,資深軟件工程師和技術(shù)經(jīng)理,先后在Microsoft和Google工作了數(shù)十年,在Microsoft擔(dān)任軟件工程師、技術(shù)經(jīng)理以及安全產(chǎn)品技術(shù)主管,在Google從事廣告應(yīng)用開發(fā)和搜索基礎(chǔ)結(jié)構(gòu)研發(fā)相關(guān)的工作。

圖書目錄

前言 1
第1章 代碼應(yīng)當(dāng)易于理解 5
是什么讓代碼變得“更好”  6
可讀性基本定理 7
總是越小越好嗎 7
理解代碼所需的時間是否與其他目標(biāo)有沖突 8
最難的部分 8
第一部分 表面層次的改進(jìn) 9
第2章 把信息裝到名字里 11
選擇專業(yè)的詞 12
避免像tmp和retval這樣泛泛的名字 14
用具體的名字代替抽象的名字 17
為名字附帶更多信息 19
名字應(yīng)該有多長 22
利用名字的格式來傳遞含義 24
總結(jié) 25
第3章 不會誤解的名字 27
例子:Filter() 28
例子:Clip(text, length) 28
推薦用first和last來表示包含的范圍 29
推薦用begin和end來表示包含/排除范圍 30
給布爾值命名 30
與使用者的期望相匹配 31
例子:如何權(quán)衡多個備選名字 33
總結(jié) 34
第4章 審美 36
為什么審美這么重要 37
重新安排換行來保持一致和緊湊 38
用方法來整理不規(guī)則的東西 40
在需要時使用列對齊 41
選一個有意義的順序,始終一致地使用它 42
把聲明按塊組織起來 43
把代碼分成“段落” 44
個人風(fēng)格與一致性 45
總結(jié) 46
第5章 該寫什么樣的注釋 47
什么不需要注釋 49
記錄你的思想 52
站在讀者的角度 54
最后的思考——克服“作者心理阻滯” 58
總結(jié) 59
第6章 寫出言簡意賅的注釋 60
讓注釋保持緊湊 61
避免使用不明確的代詞 61
潤色粗糙的句子 62
精確地描述函數(shù)的行為 62
用輸入/輸出例子來說明特別的情況 63
聲明代碼的意圖 64
“具名函數(shù)參數(shù)”的注釋 64
采用信息含量高的詞 65
總結(jié) 66
第二部分 簡化循環(huán)和邏輯 67
第7章 把控制流變得易讀 69
條件語句中參數(shù)的順序 70
if/else語句塊的順序 71
?:條件表達(dá)式(又名“三目運算符”) 73
避免do/while循環(huán) 74
從函數(shù)中提前返回 76
臭名昭著的goto 76
最小化嵌套 77
你能理解執(zhí)行的流程嗎 80
總結(jié) 81
第8章 拆分超長的表達(dá)式 82
用做解釋的變量 83
總結(jié)變量 83
使用德摩根定理 84
濫用短路邏輯 84
例子:與復(fù)雜的邏輯戰(zhàn)斗 85
拆分巨大的語句 87
另一個簡化表達(dá)式的創(chuàng)意方法 88
總結(jié) 89
第9章 變量與可讀性 91
減少變量 92
縮小變量的作用域 94
只寫一次的變量更好 100
最后的例子 101
總結(jié) 103
第三部分 重新組織代碼 105
第10章 抽取不相關(guān)的子問題 107
介紹性的例子:findClosestLocation() 108
純工具代碼 109
其他多用途代碼 110
創(chuàng)建大量通用代碼 112
項目專有的功能 112
簡化已有接口 113
按需重塑接口 114
過猶不及 115
總結(jié) 116
第11章 一次只做一件事 117
任務(wù)可以很小 119
從對象中抽取值 120
更大型的例子 124
總結(jié) 126
第12章 把想法變成代碼 127
清楚地描述邏輯 128
了解函數(shù)庫是有幫助的 129
把這個方法應(yīng)用于更大的問題 130
總結(jié) 133
第13章 少寫代碼 135
別費神實現(xiàn)那個功能——你不會需要它 136
質(zhì)疑和拆分你的需求 136
保持小代碼庫 138
熟悉你周邊的庫 139
例子:使用Unix工具而非編寫代碼 140
總結(jié) 141
第四部分 精選話題 143
第14章 測試與可讀性 145
使測試易于閱讀和維護(hù) 146
這段測試什么地方不對 146
使這個測試更可讀 147
讓錯誤消息具有可讀性 150
選擇好的測試輸入 152
為測試函數(shù)命名 154
那個測試有什么地方不對 155
對測試較好的開發(fā)方式 156
走得太遠(yuǎn) 158
總結(jié) 158
第15章 設(shè)計并改進(jìn)“分鐘/小時計數(shù)器” 160
問題 161
定義類接口 161
嘗試1:一個幼稚的方案 164
嘗試2:傳送帶設(shè)計方案 166
嘗試3:時間桶設(shè)計方案 169
比較三種方案 173
總結(jié) 174
附錄 深入閱讀 175  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號