東坡下載:內(nèi)容最豐富最安全的下載站!文件類型庫(kù)|論壇轉(zhuǎn)帖|最新更新|下載分類

首頁(yè)教育素材書集教程 → 代碼整潔之道(中文版) pdf免費(fèi)電子版

代碼整潔之道(中文版)pdf免費(fèi)電子版

  • 大。14.7M
  • 類型:書集教程
  • 網(wǎng)站:http://tipsywinegypsy.com
  • 廠商:
  • 授權(quán):免費(fèi)軟件
  • 等級(jí):
  • 產(chǎn)地:國(guó)產(chǎn)軟件
  • 語(yǔ)言:中文
  • 平臺(tái):WinAll
  • 更新:2015-06-23
好用好玩 50%(0)
坑爹 坑爹 50%(0)

代碼整潔之道(中文版)介紹

代碼整潔之道一書詳細(xì)解說(shuō)了編寫代碼時(shí)的規(guī)范和注意事項(xiàng)。強(qiáng)調(diào)簡(jiǎn)單、直接,不管是命名、類和函數(shù)的設(shè)計(jì)等都應(yīng)該如此。需要在大型的工程實(shí)踐中才能更深刻的體會(huì)。本節(jié)內(nèi)容小編為大家精選帶來(lái)的這份代碼整潔之道為pdf格式中文免費(fèi)電子版,以下是關(guān)于該書本的詳細(xì)介紹,如果你想要查閱這本書的話,那就趕緊點(diǎn)擊本文相應(yīng)的下載地址進(jìn)行下載查閱吧!

代碼整潔之道電子書內(nèi)容簡(jiǎn)介

《代碼整潔之道》閱讀對(duì)象為一切有志于改善代碼質(zhì)量的程序員及技術(shù)經(jīng)理。書中介紹的規(guī)則均來(lái)自作者多年的實(shí)踐經(jīng)驗(yàn),涵蓋從命名到重構(gòu)的多個(gè)編程方面,雖為一“家”之言,然誠(chéng)有可資借鑒的價(jià)值。

軟件質(zhì)量,不但依賴于架構(gòu)及項(xiàng)目管理,而且與代碼質(zhì)量緊密相關(guān)。這一點(diǎn),無(wú)論是敏捷開(kāi)發(fā)流派還是傳統(tǒng)開(kāi)發(fā)流派,都不得不承認(rèn)!洞a整潔之道》提出一種觀念:代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護(hù)、升級(jí)奠定了良好基礎(chǔ)。作為編程領(lǐng)域的佼佼者,《代碼整潔之道》作者給出了一系列行之有效的整潔代碼操作實(shí)踐。這些實(shí)踐在《代碼整潔之道》中體現(xiàn)為一條條規(guī)則(或稱“啟示”),并輔以來(lái)自現(xiàn)實(shí)項(xiàng)目的正、反兩面的范例。只要遵循這些規(guī)則,就能編寫出干凈的代碼,從而有效提升代碼質(zhì)量。

代碼整潔之道電子書內(nèi)容目錄

第1章 整潔代碼 1

1.1 要有代碼 2

1.2 糟糕的代碼 2

1.3 混亂的代價(jià) 3

1.3.1 華麗新設(shè)計(jì) 4

1.3.2 態(tài)度 4

1.3.3 迷題 5

1.3.4 整潔代碼的藝術(shù) 5

1.3.5 什么是整潔代碼 6

1.4 思想流派 10

1.5 我們是作者 11

1.6 童子軍軍規(guī) 12

1.7 前傳與原則 12

1.8 小結(jié) 12

1.9 文獻(xiàn) 13

第2章 有意義的命名 15

2.1 介紹 15

2.2 名副其實(shí) 16

2.3 避免誤導(dǎo) 17

2.4 做有意義的區(qū)分 18

2.5 使用讀得出來(lái)的名稱 19

2.6 使用可搜索的名稱 20

2.7 避免使用編碼 21

2.7.1 匈牙利語(yǔ)標(biāo)記法 21

2.7.2 成員前綴 21

2.7.3 接口和實(shí)現(xiàn) 22

2.8 避免思維映射 22

2.9  類名 23

2.10 方法名 23

2.11 別扮可愛(ài) 23

2.12 每個(gè)概念對(duì)應(yīng)一個(gè)詞 24

2.13 別用雙關(guān)語(yǔ) 24

2.14 使用解決方案領(lǐng)域名稱 25

2.15 使用源自所涉問(wèn)題領(lǐng)域的名稱 25

2.16 添加有意義的語(yǔ)境 25

2.17 不要添加沒(méi)用的語(yǔ)境 27

2.18 最后的話 27

第3章 函數(shù) 29

3.1 短小 32

3.2 只做一件事 33

3.3 每個(gè)函數(shù)一個(gè)抽象層級(jí) 34

3.4 switch語(yǔ)句 35

3.5 使用描述性的名稱 36

3.6 函數(shù)參數(shù) 37

3.6.1 一元函數(shù)的普遍形式 38

3.6.2 標(biāo)識(shí)參數(shù) 38

3.6.3 二元函數(shù) 38

3.6.4 三元函數(shù) 39

3.6.5 參數(shù)對(duì)象 39

3.6.6 參數(shù)列表 40

3.6.7 動(dòng)詞與關(guān)鍵字 40

3.7 無(wú)副作用 40

3.8 分隔指令與詢問(wèn) 42

3.9 使用異常替代返回錯(cuò)誤碼 42

3.9.1 抽離Try/Catch代碼塊 43

3.9.2 錯(cuò)誤處理就是一件事 44

3.9.3 Error.java依賴磁鐵 44

3.10 別重復(fù)自己 44

3.11 結(jié)構(gòu)化編程 45

3.12 如何寫出這樣的函數(shù) 45

3.13 小結(jié) 45

3.14 SetupTeardownIncluder程序 46

3.15 文獻(xiàn) 48

第4章 注釋 49

4.1 注釋不能美化糟糕的代碼 50

4.2 用代碼來(lái)闡述 51

4.3 好注釋 51

4.3.1 法律信息 51

4.3.2 提供信息的注釋 51

4.3.3 對(duì)意圖的解釋 52

4.3.4 闡釋 53

4.3.5 警示 53

4.3.6 TODO注釋 54

4.3.7 放大 54

4.3.8 公共API中的Javadoc 55

4.4 壞注釋 55

4.4.1 喃喃自語(yǔ) 55

4.4.2 多余的注釋 56

4.4.3 誤導(dǎo)性注釋 58

4.4.4 循規(guī)式注釋 58

4.4.5 日志式注釋 59

4.4.6 廢話注釋 59

4.4.7 可怕的廢話 61

4.4.8 能用函數(shù)或變量時(shí)就別用注釋 62

4.4.9 位置標(biāo)記 62

4.4.10 括號(hào)后面的注釋 62

4.4.11 歸屬與署名 63

4.4.12 注釋掉的代碼 63

4.4.13 HTML注釋 64

4.4.14 非本地信息 64

4.4.15 信息過(guò)多 65

4.4.16 不明顯的聯(lián)系 65

4.4.17 函數(shù)頭 66

4.4.18 非公共代碼中的Javadoc 66

4.4.19 范例 66

4.5 文獻(xiàn) 69

第5章 格式 71

5.1 格式的目的 72

5.2 垂直格式 72

5.2.1 向報(bào)紙學(xué)習(xí) 73

5.2.2 概念間垂直方向上的區(qū)隔 73

5.2.3 垂直方向上的靠近 74

5.2.4 垂直距離 75

5.2.5 垂直順序 79

5.3 橫向格式 79

5.3.1 水平方向上的區(qū)隔與靠近 80

5.3.2 水平對(duì)齊 81

5.3.3 縮進(jìn) 82

5.3.4 空范圍 84

5.4 團(tuán)隊(duì)規(guī)則 84

5.5 鮑勃大叔的格式規(guī)則 85

第6章 對(duì)象和數(shù)據(jù)結(jié)構(gòu) 87

6.1 數(shù)據(jù)抽象 87

6.2 數(shù)據(jù)、對(duì)象的反對(duì)稱性 89

6.3 得墨忒耳律 91

6.3.1 火車失事 91

6.3.2 混雜 92

6.3.3 隱藏結(jié)構(gòu) 92

6.4 數(shù)據(jù)傳送對(duì)象 93

6.5 小結(jié) 94

6.6 文獻(xiàn) 94

第7章 錯(cuò)誤處理 95

7.1 使用異常而非返回碼 96

7.2 先寫Try-Catch-Finally語(yǔ)句 97

7.3 使用不可控異!98

7.4 給出異常發(fā)生的環(huán)境說(shuō)明 99

7.5 依調(diào)用者需要定義異常類 99

7.6 定義常規(guī)流程 100

7.7 別返回null值 101

7.8 別傳遞null值 102

7.9 小結(jié) 103

7.10 文獻(xiàn) 104

第8章 邊界 105

8.1 使用第三方代碼 106

8.2 瀏覽和學(xué)習(xí)邊界 107

8.3 學(xué)習(xí)log4j 108

8.4 學(xué)習(xí)性測(cè)試的好處不只是免費(fèi) 110

8.5 使用尚不存在的代碼 110

8.6 整潔的邊界 111

8.7 文獻(xiàn) 112

第9章 單元測(cè)試 113

9.1 TDD三定律 114

9.2 保持測(cè)試整潔 115

9.3 整潔的測(cè)試 116

9.3.1 面向特定領(lǐng)域的測(cè)試語(yǔ)言 118

9.3.2 雙重標(biāo)準(zhǔn) 119

9.4 每個(gè)測(cè)試一個(gè)斷言 121

9.5 F.I.R.S.T. 122

9.6 小結(jié) 123

9.7 文獻(xiàn) 124

第10章 類 125

10.1 類的組織 126

10.2 類應(yīng)該短小 126

10.2.1 單一權(quán)責(zé)原則 128

10.2.2 內(nèi)聚 129

10.2.3 保持內(nèi)聚性就會(huì)得到許多短小的類 130

10.3 為了修改而組織 136

10.4 文獻(xiàn) 139

第11章 系統(tǒng) 141

11.1 如何建造一個(gè)城市 142

11.2 將系統(tǒng)的構(gòu)造與使用分開(kāi) 142

11.2.1 分解main 143

11.2.2 工廠 143

11.2.3 依賴注入 144

11.3 擴(kuò)容 145

11.4 Java代理 148

11.5 純Java AOP框架 150

11.6 AspectJ的方面 152

11.7 測(cè)試驅(qū)動(dòng)系統(tǒng)架構(gòu) 153

11.8 優(yōu)化決策 154

11.9 明智使用添加了可論證價(jià)值的標(biāo)準(zhǔn) 154

11.10 系統(tǒng)需要領(lǐng)域特定語(yǔ)言 154

11.11 小結(jié) 155

11.12 文獻(xiàn) 155

第12章 迭進(jìn) 157

12.1 通過(guò)迭進(jìn)設(shè)計(jì)達(dá)到整潔目的 157

12.2 簡(jiǎn)單設(shè)計(jì)規(guī)則1:運(yùn)行所有測(cè)試 158

12.3 簡(jiǎn)單設(shè)計(jì)規(guī)則2~4:重構(gòu) 158

12.4 不可重復(fù) 159

12.5 表達(dá)力 161

12.6 盡可能少的類和方法 162

12.7 小結(jié) 162

12.8 文獻(xiàn) 162

第13章 并發(fā)編程 163

13.1 為什么要并發(fā) 164

13.2 挑戰(zhàn) 165

13.3 并發(fā)防御原則 166

13.3.1 單一權(quán)責(zé)原則 166

13.3.2 推論:限制數(shù)據(jù)作用域 166

13.3.3 推論:使用數(shù)據(jù)復(fù)本 167

13.3.4 推論:線程應(yīng)盡可能地獨(dú)立 167

13.4 了解Java庫(kù) 167

13.5 了解執(zhí)行模型 168

13.5.1 生產(chǎn)者-消費(fèi)者模型 169

13.5.2 讀者-作者模型 169

13.5.3 宴席哲學(xué)家 169

13.6 警惕同步方法之間的依賴 169

13.7 保持同步區(qū)域微小 170

13.8 很難編寫正確的關(guān)閉代碼 170

13.9 測(cè)試線程代碼 171

13.9.1 將偽失敗看作可能的線程問(wèn)題 171

13.9.2 先使非線程代碼可工作 171

13.9.3 編寫可插拔的線程代碼 172

13.9.4 編寫可調(diào)整的線程代碼 172

13.9.5 運(yùn)行多于處理器數(shù)量的線程 172

13.9.6 在不同平臺(tái)上運(yùn)行 172

13.9.7 裝置試錯(cuò)代碼 173

13.9.8 硬編碼 173

13.9.9 自動(dòng)化 174

13.10 小結(jié) 175

13.11 文獻(xiàn) 175

第14章 逐步改進(jìn) 176

14.1 Args的實(shí)現(xiàn) 177

14.2 Args:草稿 183

14.2.1 所以我暫停了 195

14.2.2 漸進(jìn) 195

14.3 字符串參數(shù) 197

14.4 小結(jié) 234

第15章 JUnit內(nèi)幕 235

15.1 JUnit框架 236

15.2 小結(jié) 249

第16章 重構(gòu)SerialDate 251

16.1 首先,讓它能工作 252

16.2 讓它做對(duì) 254

16.3 小結(jié) 266

16.4 文獻(xiàn) 267

第17章 味道與啟發(fā) 269

17.1 注釋 270

17.2 環(huán)境 271

17.3 函數(shù) 271

17.4 一般性問(wèn)題 272

17.5 Java 288

17.6 名稱 291

17.7 測(cè)試 294

17.8 小結(jié) 295

17.9 文獻(xiàn) 296

附錄A 并發(fā)編程II 297

A.1 客戶端/服務(wù)器的例子 297

A.1.1 服務(wù)器 297

A.1.2 添加線程代碼 298

A.1.3 觀察服務(wù)器端 299

A.1.4 小結(jié) 301

A.2 執(zhí)行的可能路徑 301

A.2.1 路徑數(shù)量 302

A.2.2 深入挖掘 303

A.2.3 小結(jié) 305

A.3 了解類庫(kù) 305

A.3.1 Executor框架 305

A.3.2 非鎖定的解決方案 306

A.3.3 非線程安全類 307

A.4 方法之間的依賴可能破壞并發(fā)代碼 308

A.4.1 容忍錯(cuò)誤 309

A.4.2 基于客戶代碼的鎖定 309

A.4.3 基于服務(wù)端的鎖定 311

A.5 提升吞吐量 312

A.5.1 單線程條件下的吞吐量 313

A.5.2 多線程條件下的吞吐量 313

A.6 死鎖 314

A.6.1 互斥 315

A.6.2 上鎖及等待 315

A.6.3 無(wú)搶先機(jī)制 315

A.6.4 循環(huán)等待 315

A.6.5 不互斥 316

A.6.6 不上鎖及等待 316

A.6.7 滿足搶先機(jī)制 317

A.6.8 不做循環(huán)等待 317

A.7 測(cè)試多線程代碼 317

A.8 測(cè)試線程代碼的工具支持 320

A.9 小結(jié) 320

A.10 教程:完整代碼范例 321

A.10.1 客戶端/服務(wù)器非線程代碼 321

A.10.2 使用線程的客戶端/服務(wù)器代碼 324

附錄B org.jfree.date.SerialDate 327

結(jié)束語(yǔ) 389

代碼整潔之道電子書內(nèi)容截圖


代碼整潔之道電子書相關(guān)軟件

  • 電腦版相關(guān)
  • 手機(jī)版相關(guān)
< >

下載地址

代碼整潔之道(中文版) pdf免費(fèi)電子版

熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)

編輯推薦