匠藝整潔之道:程序員的職業(yè)修養(yǎng)
定 價(jià):128 元
- 作者:(美)Robert C. Martin(羅伯特·馬。
- 出版時(shí)間:2022/4/1
- ISBN:9787121432248
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.52
- 頁(yè)碼:372
- 紙張:
- 版次:01
- 開本:16開
鮑勃大叔因在技術(shù)人群中聲名遠(yuǎn)播的Clean系列在全球圈粉無(wú)數(shù)。本書為其燙手新作,旨在為廣大工程師指明一條通向匠師之路,包括飽經(jīng)洗礪的敏捷技術(shù)實(shí)踐,如何通過持續(xù)的努力提高專業(yè)素養(yǎng),軟件可用之上的目標(biāo)與技能,以及如何激發(fā)團(tuán)隊(duì)最大潛能,等等。本書融會(huì)幾本經(jīng)典著作的精髓,將“整潔”方法論推向至高境界—軟件開發(fā)者有責(zé)任維護(hù)世界正常運(yùn)行,而“人”才是“技術(shù)”的決定者。本書共分三部分,前兩部分用實(shí)例闡釋TDD在敏捷軟件中的運(yùn)用,以及驗(yàn)收測(cè)試、協(xié)同編程等常被忽視的敏捷側(cè)面與具體策略,還探討了頗有價(jià)值的軟件設(shè)計(jì)方案相關(guān)話題;第Ⅲ部分拔地而起,直接提出十條堪稱金玉良言的“規(guī)勸”,以幫助程序員成為團(tuán)隊(duì)基石。本書適合所有軟件開發(fā)者、測(cè)試工程師及工程類院校師生,對(duì)技術(shù)團(tuán)隊(duì)負(fù)責(zé)人及架構(gòu)師同樣大有助益。
Robert C. Martin,Object Mentor公司總裁,面向?qū)ο笤O(shè)計(jì)、模式、UML、敏捷方法學(xué)和極限編程領(lǐng)域的資深顧問。他是Designing Object-Oriented C++ Applications Using the Booch Method 以及 Jolt 獲獎(jiǎng)圖書 Agile Software Development, Principles,Palterns,and Practices(中譯版《敏捷軟件開發(fā):原則、模式與實(shí)踐》)《代碼整潔之道》等暢銷書作者。
韓磊,IT產(chǎn)品與運(yùn)營(yíng)專家、IT圖書專業(yè)譯者,譯有《代碼整潔之道》《夢(mèng)斷代碼》《C#編程風(fēng)格》等多部計(jì)算機(jī)圖書。曾擔(dān)任CSDN副總經(jīng)理、《程序員》總編輯、廣東二十一世紀(jì)傳媒股份有限公司新媒體事業(yè)部總經(jīng)理等職,現(xiàn)任AR初創(chuàng)企業(yè)亮風(fēng)臺(tái)廣州公司總經(jīng)理。
第1章 匠藝 1
第Ⅰ部分 紀(jì)律 9
極限編程 11
生命之環(huán) 11
測(cè)試驅(qū)動(dòng)開發(fā) 12
重構(gòu) 13
簡(jiǎn)單設(shè)計(jì) 14
協(xié)同編程 14
驗(yàn)收測(cè)試 15
第2章 測(cè)試驅(qū)動(dòng)開發(fā) 17
概述 18
軟件 20
TDD三法則 20
第四法則 28
基礎(chǔ)知識(shí) 29
簡(jiǎn)單示例 30
棧 30
質(zhì)因數(shù) 46
保齡球局 55
小結(jié) 72
第3章 高級(jí)測(cè)試驅(qū)動(dòng)開發(fā) 73
排序示例一 74
排序示例二 78
卡殼 86
安排、行動(dòng)、斷言 94
進(jìn)入BDD 95
有限狀態(tài)機(jī) 96
再談BDD 97
測(cè)試替身 98
DUMMY 100
STUB 103
SPY 106
MOCK 108
FAKE 111
TDD不確定性原理 113
倫敦派對(duì)決芝加哥派 126
確定性問題 126
倫敦派 127
芝加哥派 128
融合 128
架構(gòu) 129
小結(jié) 131
第4章 設(shè)計(jì) 133
測(cè)試數(shù)據(jù)庫(kù) 134
測(cè)試GUI 136
GUI輸入 138
測(cè)試模式 138
專為測(cè)試創(chuàng)建子類 139
自勵(lì) 140
HUMBLE OBJECT 140
測(cè)試設(shè)計(jì) 143
脆弱測(cè)試問題 143
一一對(duì)應(yīng) 144
打破對(duì)應(yīng)關(guān)系 145
VIDEO STORE 147
具體vs通用 166
轉(zhuǎn)換優(yōu)先順序 167
{} → NIL(無(wú)代碼→空值) 169
NIL → CONSTANT(空值→常量) 169
UNCONDITIONAL → SELECTION(無(wú)條件→條件選擇) 171
VALUE → LIST(值→列表) 171
STATEMENT → RECURSION(語(yǔ)句→遞歸) 172
SELECTION → ITERATION(條件選擇→遍歷) 172
VALUE → MUTATED VALUE(值→改變了的值) 173
示例:斐波那契數(shù)列 173
變換模式優(yōu)先順序假設(shè) 177
小結(jié) 178
第5章 重構(gòu) 179
什么是重構(gòu) 180
基礎(chǔ)工具包 181
重命名 181
方法抽取 182
變量抽取 183
字段抽取 185
魔方 199
紀(jì)律 199
測(cè)試 199
快速測(cè)試 199
打破緊密的一一對(duì)應(yīng)關(guān)系 200
持續(xù)重構(gòu) 200
果斷重構(gòu) 200
讓測(cè)試始終能通過 201
留條出路 201
小結(jié) 202
第6章 簡(jiǎn)單設(shè)計(jì) 203
YAGNI 206
用測(cè)試覆蓋 207
覆蓋 208
漸近目標(biāo) 210
設(shè)計(jì)? 210
但還有更多好處 210
充分表達(dá) 211
底層抽象 213
再論測(cè)試:?jiǎn)栴}的后半部分 214
盡量減少重復(fù) 214
意外重復(fù) 215
尺寸盡量小 216
簡(jiǎn)單設(shè)計(jì) 216
第7章 協(xié)同編程 217
第8章 驗(yàn)收測(cè)試 221
紀(jì)律 224
持續(xù)構(gòu)建 224
第Ⅱ部分 標(biāo)準(zhǔn) 225
你的新CTO 226
第9章 生產(chǎn)力 227
永不交付S**T 228
成本低廉的變更適應(yīng)能力 230
時(shí)刻準(zhǔn)備著 231
穩(wěn)定的生產(chǎn)力 232
第10章 質(zhì)量 235
持續(xù)改進(jìn) 236
免于恐懼 237
極致質(zhì)量 238
我們不把問題留給QA 239
QA之疾 239
QA什么問題也不會(huì)發(fā)現(xiàn) 240
測(cè)試自動(dòng)化 241
自動(dòng)化測(cè)試與用戶界面 241
測(cè)試用戶界面 243
第11章 勇氣 245
我們彼此補(bǔ)位 246
靠譜的預(yù)估 247
你得說(shuō)不 249
持續(xù)努力學(xué)習(xí) 250
教導(dǎo) 251
第Ⅲ部分 操守 253
第一個(gè)程序員 254
75年 255
書呆子與救世主 259
榜樣和惡棍 261
我們統(tǒng)治世界 262
災(zāi)難 263
誓言 265
第12章 傷害 267
首先,不造成傷害 268
對(duì)社會(huì)無(wú)害 269
對(duì)功能的損害 270
對(duì)結(jié)構(gòu)無(wú)害 272
柔軟 274
測(cè)試 275
最好的作品 276
使其正確 277
什么是好結(jié)構(gòu) 278
艾森豪威爾矩陣 279
程序員是利益相關(guān)者 281
盡力而為 282
可重復(fù)證據(jù) 284
狄克斯特拉 284
正確性證明 285
結(jié)構(gòu)化編程 288
功能分解 290
TDD 290
第13章 集成 293
小周期 294
源代碼控制的歷史 294
GIT 299
短周期 300
持續(xù)集成 301
分支與切換 301
持續(xù)部署 303
持續(xù)構(gòu)建 304
持續(xù)改進(jìn) 305
測(cè)試覆蓋率 306
突變測(cè)試 306
語(yǔ)義穩(wěn)定性 307
清理 307
創(chuàng)造 308
保持高生產(chǎn)力 308
拖慢速度的因素 309
解決注意力分散問題 311
時(shí)間管理 314
第14章 團(tuán)隊(duì)合作 317
組團(tuán)工作 318
開放式/虛擬辦公室 318
誠(chéng)實(shí)和合理地預(yù)估 319
謊言 320
誠(chéng)實(shí)、準(zhǔn)確、精確 321
故事1:載體 322
故事2:pCCU 324
教訓(xùn) 325
準(zhǔn)確度 325
精確度 327
匯總 329
誠(chéng)實(shí) 330
尊重 332
永不停止學(xué)習(xí) 332