幫助中心 | 我的帳號 | 關於我們

編寫可讀代碼的藝術

  • 作者:(美)鮑斯維爾//富歇|譯者:尹哲//鄭秀雯
  • 出版社:機械工業
  • ISBN:9787111385448
  • 出版日期:2012/07/01
  • 裝幀:平裝
  • 頁數:178
人民幣:RMB 59 元      售價:
放入購物車
加入收藏夾

內容大鋼
    《編寫可讀代碼的藝術》編著者The Art of Readable Code。  細節決定成敗,思路清晰、言簡意賅的代碼讓程序員一目瞭然;而格式凌亂、拖沓冗長的代碼讓程序員一頭霧水。除了可以正確運行以外,優秀的代碼必須具備良好的可讀性,編寫的代碼要使其他人能在最短的時間內理解才行。本書旨在強調代碼對人的友好性和可讀性。
    《編寫可讀代碼的藝術》關注編碼的細節,總結了很多提高代碼可讀性的小技巧,看似都微不足道,但是對於整個軟體系統的開發而言,它們與宏觀的架構決策、設計思想、指導原則同樣重要。編碼不僅僅只是一種技術,也是一門藝術,編寫可讀性高的代碼尤其如此。如果你要成為一位優秀的程序員,要想開發出高質量的軟體系統,必須從細處著手,做到內外兼修,本書將為你提供有效的指導。  
    主要內容:  
    簡化命名、註釋和格式的方法,使每行代碼都言簡意賅。  
    梳理程序中的循環、邏輯和變數來減小複雜度並理清思路。  
    在函數級別解決問題,例如重新組織代碼塊,使其一次只做一件事。

作者介紹
(美)鮑斯維爾//富歇|譯者:尹哲//鄭秀雯

目錄
前言 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

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032