代碼整潔之道

代碼整潔之道 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:[美] Robert C·Martin
出品人:異步圖書
頁數:387
译者:韓磊
出版時間:2020-2
價格:0
裝幀:平裝
isbn號碼:9787115524133
叢書系列:
圖書標籤:
  • 軟件工程
  • 規範
  • 編程
  • 重構
  • 軟件開發
  • 職業生涯
  • 經典
  • Java
  • 代碼質量
  • 代碼規範
  • 軟件設計
  • 可讀性
  • 可維護性
  • 重構
  • 編程實踐
  • 軟件工程
  • 整潔代碼
  • 最佳實踐
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

著者簡介

Rober C.Martin,Object Mentor公司總裁。麵嚮對象設計、模式、UML、敏捷方法學和極限編程領域的資深顧問。他是Designing Object-Oriented C++Applications Using the BoochMethod以及Jolt獲奬圖書Agile SoftwareDevelopment,Principles,Pattems,and Practices(中譯版《敏捷軟件開發:原則、模式與實踐》)等暢銷書作者。

圖書目錄

第1章 整潔代碼 1
1.1 要有代碼 2
1.2 糟糕的代碼 2
1.3 混亂的代價 3
1.3.1 華麗新設計 4
1.3.2 態度 4
1.3.3 謎題 5
1.3.4 整潔代碼的藝術 5
1.3.5 什麼是整潔代碼 6
1.4 思想流派 10
1.5 我們是作者 11
1.6 童子軍軍規 12
1.7 前傳與原則 12
1.8 小結 13
1.9 文獻 13
第2章 有意義的命名 14
2.1 介紹 14
2.2 名副其實 15
2.3 避免誤導 16
2.4 做有意義的區分 17
2.5 使用讀得齣來的名稱 18
2.6 使用可搜索的名稱 19
2.7 避免使用編碼 20
2.7.1 匈牙利語標記法 20
2.7.2 成員前綴 21
2.7.3 接口和實現 21
2.8 避免思維映射 21
2.9 類名 22
2.10 方法名 22
2.11 彆抖機靈 22
2.12 每個概念對應一個詞 23
2.13 彆用雙關語 23
2.14 使用解決方案領域名稱 24
2.15 使用源自所涉問題領域的名稱 24
2.16 添加有意義的語境 24
2.17 不要添加沒用的語境 26
2.18 最後的話 27
第3章 函數 28
3.1 短小 31
3.2 隻做一件事 32
3.3 每個函數一個抽象層級 33
3.4 switch語句 34
3.5 使用具有描述性的名稱 35
3.6 函數參數 36
3.6.1 單參數函數的普遍形式 37
3.6.2 標識參數 37
3.6.3 雙參數函數 38
3.6.4 三參數函數 38
3.6.5 參數對象 39
3.6.6 參數列錶 39
3.6.7 動詞與關鍵字 39
3.7 無副作用 40
3.8 分隔指令與詢問 41
3.9 使用異常替代返迴錯誤碼 42
3.9.1 抽離try/catch代碼塊 42
3.9.2 錯誤處理就是一件事 43
3.9.3 Error.java依賴磁鐵 43
3.10 彆重復自己 44
3.11 結構化編程 44
3.12 如何寫齣這樣的函數 45
3.13 小結 45
3.14 SetupTeardownIncluder程序 45
3.15 文獻 48
第4章 注釋 49
4.1 注釋不能美化糟糕的代碼 50
4.2 用代碼來闡述 51
4.3 好注釋 51
4.3.1 法律信息 51
4.3.2 提供信息的注釋 51
4.3.3 對意圖的解釋 52
4.3.4 闡釋 53
4.3.5 警示 53
4.3.6 TODO注釋 54
4.3.7 放大 55
4.3.8 公共API中的Javadoc 55
4.4 壞注釋 55
4.4.1 喃喃自語 55
4.4.2 多餘的注釋 56
4.4.3 誤導性注釋 58
4.4.4 循規式注釋 59
4.4.5 日誌式注釋 59
4.4.6 廢話注釋 60
4.4.7 可怕的廢話 62
4.4.8 能用函數或變量時就彆用注釋 62
4.4.9 位置標記 62
4.4.10 括號後麵的注釋 63
4.4.11 歸屬與署名 63
4.4.12 注釋掉的代碼 64
4.4.13 HTML注釋 64
4.4.14 非本地信息 65
4.4.15 信息過多 65
4.4.16 不明顯的聯係 66
4.4.17 函數頭 66
4.4.18 非公共代碼中的Javadoc 66
4.4.19 範例 66
4.5 文獻 70
第5章 格式 71
5.1 格式的目的 72
5.2 垂直格式 72
5.2.1 嚮報紙學習 73
5.2.2 概念間垂直方嚮上的區隔 73
5.2.3 垂直方嚮上的靠近 74
5.2.4 垂直距離 75
5.2.5 垂直順序 79
5.3 橫嚮格式 80
5.3.1 水平方嚮上的區隔與靠近 81
5.3.2 水平對齊 82
5.3.3 縮進 83
5.3.4 空範圍 84
5.4 團隊規則 85
5.5 “鮑勃大叔”的格式規則 85
第6章 對象和數據結構 88
6.1 數據抽象 88
6.2 數據、對象的反對稱性 90
6.3 得墨忒耳律 92
6.3.1 火車失事 92
6.3.2 混雜 93
6.3.3 隱藏結構 93
6.4 數據傳送對象 94
6.5 小結 95
6.6 文獻 96
第7章 錯誤處理 97
7.1 使用異常而非返迴碼 98
7.2 先寫try-catch-finally語句 99
7.3 使用未檢異常 100
7.4 給齣異常發生的環境說明 101
7.5 依調用者需要定義異常類 101
7.6 定義常規流程 103
7.7 彆返迴null值 104
7.8 彆傳遞null值 105
7.9 小結 106
7.10 文獻 106
第8章 邊界 107
8.1 使用第三方代碼 108
8.2 瀏覽和學習邊界 109
8.3 學習log4j 110
8.4 學習性測試的好處不隻是免費 112
8.5 使用尚不存在的代碼 112
8.6 整潔的邊界 113
8.7 文獻 114
第9章 單元測試 115
9.1 TDD三定律 116
9.2 保持測試整潔 117
9.3 整潔的測試 118
9.3.1 麵嚮特定領域的測試語言 120
9.3.2 雙重標準 121
9.4 每個測試一個斷言 123
9.5 F.I.R.S.T. 125
9.6 小結 125
9.7 文獻 126
第10章 類 127
10.1 類的組織 128
10.2 類應該短小 128
10.2.1 單一權責原則 130
10.2.2 內聚 131
10.2.3 保持內聚性就會得到許多短小的類 132
10.3 為瞭修改而組織 138
10.4 文獻 141
第11章 係統 142
11.1 如何建造一個城市 143
11.2 將係統的構造與使用分開 143
11.2.1 分解main 144
11.2.2 工廠 145
11.2.3 依賴注入 145
11.3 擴容 146
11.4 Java代理 149
11.5 純Java AOP框架 151
11.6 AspectJ的方麵 154
11.7 測試驅動係統架構 154
11.8 優化決策 155
11.9 明智使用添加瞭可論證價值的標準 155
11.10 係統需要領域特定語言 156
11.11 小結 156
11.12 文獻 156
第12章 迭進 158
12.1 通過迭進設計達到整潔目的 158
12.2 簡單設計規則1:運行所有測試 159
12.3 簡單設計規則2~4:重構 159
12.4 不可重復 160
12.5 錶達力 162
12.6 盡可能少的類和方法 163
12.7 小結 163
12.8 文獻 163
第13章 並發編程 164
13.1 為什麼要並發 165
13.2 挑戰 166
13.3 並發防禦原則 167
13.3.1 單一權責原則 167
13.3.2 推論:限製數據作用域 167
13.3.3 推論:使用數據副本 168
13.3.4 推論:綫程應盡可能地獨立 168
13.4 瞭解Java庫 168
13.5 瞭解執行模型 169
13.5.1 生産者-消費者模型 170
13.5.2 讀者-作者模型 170
13.5.3 宴席哲學傢 170
13.6 警惕同步方法之間的依賴 170
13.7 保持同步區域微小 171
13.8 很難編寫正確的關閉代碼 171
13.9 測試綫程代碼 172
13.9.1 將僞失敗看作可能的綫程問題 172
13.9.2 先使非綫程代碼可工作 172
13.9.3 編寫可插拔的綫程代碼 173
13.9.4 編寫可調整的綫程代碼 173
13.9.5 運行多於處理器數量的綫程 173
13.9.6 在不同平颱上運行 173
13.9.7 裝置試錯代碼 174
13.9.8 硬編碼 174
13.9.9 自動化 175
13.10 小結 176
13.11 文獻 176
第14章 逐步改進 177
14.1 Args的實現 178
14.2 Args:草稿 185
14.2.1 所以我暫停瞭 196
14.2.2 漸進 197
14.3 字符串類型參數 199
14.4 小結 236
第15章 JUnit內幕 237
15.1 JUnit框架 238
15.2 小結 251
第16章 重構SerialDate 252
16.1 首先,讓它能工作 253
16.2 讓它做對 255
16.3 小結 268
16.4 文獻 268
第17章 味道與啓發 269
17.1 注釋 270
17.2 環境 271
17.3 函數 271
17.4 一般性問題 272
17.5 Java 288
17.6 名稱 291
17.7 測試 295
17.8 小結 296
17.9 文獻 296
附錄A 並發編程II 297
附錄B org.jfree.date.SerialDate 326
結束語 388
· · · · · · (收起)

讀後感

評分

本来想写一点心得的总结,但是已经有一篇书评总结的比较好了,见[《写代码犹如写文章》。 此处,大概加上我个人觉得需要澄清和总结的地方。] 写代码犹如写文章,这种提法按照书中原意,是不严谨的,因为原书将代码比作的是新闻报道。文章体裁既多,有散文,有诗歌,有小说,有...  

評分

看了前几章,大惊! 对自己这几年的积累,还是颇为自信的。想不到短短的几章书,就抵得上我几年的领悟了。 早几年看到这本书,也许现在的水平能再上一个台阶! 强力推荐。 书不见了,还得再买一本了  

評分

说实话,我一直在琢磨<clean code>这本书的目标人群到底应该是谁。对于在校学生,甚至刚刚工作了一两年的fresh coder,这本书的价值并没有想象的高。原因比较简单:clean code这本书的大部分内容是建立在作者大量编程实践之后的回溯和反思,类似于经验提炼式的总结。如果读者没...  

評分

现在看到那些不好的代码就感觉不舒服,想给改改吧,但又不知道到从和处开刀,挺纠结的,可能是现在火候还不到吧。 现在写代码开始考虑易读性了,以前的想法就是写过的代码从来不会看第二遍,其实这也可能,但是一旦养成个了这个不好的习惯,有一天你想写好让别人能看懂的代码...

評分

这是一本真正的好书,不过如果读者没有一定的经验,以及缺乏对编程境界的追求的话,可能认为这本书很一般,甚至认为只是说了一些大白话。当然,对于有心人来说,这本书里面的很多东西可能都已经习以为常了。我的排序:本书>《代码大全》>《重构》。  

用戶評價

评分

评分

评分

评分

评分

相關圖書

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有