關(guān)于我們
書單推薦
新書推薦
|
匠藝整潔之道:程序員的職業(yè)修養(yǎng)(英文版) 讀者對象:本書適合所有軟件開發(fā)者、測試工程師及工程類院校師生,對技術(shù)團隊負(fù)責(zé)人及架構(gòu)師同樣大有助益。
羅伯特?C.馬。U勃大叔)因在技術(shù)人群中聲名遠(yuǎn)播的Clean系列在全球圈粉無數(shù)。本書為其燙手新作,旨在為廣大工程師指明一條通向匠師之路,包括飽經(jīng)洗礪的敏捷技術(shù)實踐,如何通過持續(xù)的努力提高專業(yè)素養(yǎng),軟件可用之上的目標(biāo)與技能,以及如何激發(fā)團隊最大潛能,等等。本書融會幾本經(jīng)典著作的精髓,將"整潔”方法論推向至高境界—軟件開發(fā)者有責(zé)任維護世界正常運行,而"人”才是"技術(shù)”的決定者。 本書共分三部分,前兩部分用實例闡釋TDD在敏捷軟件中的運用,以及驗收測試、協(xié)同編程等常被忽視的敏捷側(cè)面與具體策略,還探討了頗有價值的軟件設(shè)計方案相關(guān)話題;第Ⅲ部分拔地而起,直接提出十條堪稱金玉良言的"規(guī)勸”,以幫助程序員成為團隊基石。
羅伯特?C.馬丁,自1970年起從事程序員職業(yè)。他與人合辦了cleancoders.com網(wǎng)站,為軟件開發(fā)者提供在線視頻培訓(xùn)服務(wù)。他還創(chuàng)辦了Uncle Bob咨詢有限公司,為分布于世界各地的大公司提供軟件咨詢、培訓(xùn)和技能培養(yǎng)服務(wù)。同時,他也供職于芝加哥的軟件咨詢企業(yè)8th Light,任大匠(Master Craftsman)一職。
羅伯特?C.馬丁,自1970年起從事程序員職業(yè)。他與人合辦了cleancoders.com網(wǎng)站,為軟件開發(fā)者提供在線視頻培訓(xùn)服務(wù)。他還創(chuàng)辦了Uncle Bob咨詢有限公司,為分布于世界各地的大公司提供軟件咨詢、培訓(xùn)和技能培養(yǎng)服務(wù)。同時,他也供職于芝加哥的軟件咨詢企業(yè)8th Light,任大匠(Master Craftsman)一職。
第 1 章 匠藝 ................................................................................... 25
第Ⅰ部分 紀(jì)律 ................................................................................ 35 極限編程 .............................................................................................................................. 37 生命之環(huán) ...................................................................................................................... 38 測試驅(qū)動開發(fā) ...................................................................................................................... 39 重構(gòu) ...................................................................................................................................... 40 簡單設(shè)計 .............................................................................................................................. 41 協(xié)同編程 .............................................................................................................................. 41 驗收測試 .............................................................................................................................. 42 第 2 章 測試驅(qū)動開發(fā) ....................................................................... 43 概述 ...................................................................................................................................... 44 軟件 .............................................................................................................................. 46 TDD 三法則 ................................................................................................................. 47 第四法則 ...................................................................................................................... 58 基礎(chǔ)知識 .............................................................................................................................. 59 簡單示例 ...................................................................................................................... 60 棧 .................................................................................................................................. 60 質(zhì)因數(shù) .......................................................................................................................... 76 保齡球局 ...................................................................................................................... 86 小結(jié) .................................................................................................................................... 103 第3章 高級測試驅(qū)動開發(fā) ................................................................... 105 排序示例一 ........................................................................................................................ 106 排序示例二 ........................................................................................................................ 111 卡殼 .................................................................................................................................... 119 安排、行動、斷言 ............................................................................................................ 127 進(jìn)入 BDD ................................................................................................................... 128 有限狀態(tài)機 ................................................................................................................ 129 再談 BDD ................................................................................................................... 131 測試替身 ............................................................................................................................ 132 DUMMY ..................................................................................................................... 135 STUB .......................................................................................................................... 139 SPY ............................................................................................................................. 142 MOCK ........................................................................................................................ 145 FAKE .......................................................................................................................... 148 TDD 不確定性原理 ................................................................................................... 150 倫敦派對決芝加哥派 ................................................................................................ 163 確定性問題 ................................................................................................................ 164 倫敦派 ........................................................................................................................ 165 芝加哥派 .................................................................................................................... 166 融合 ............................................................................................................................ 167 架構(gòu) .................................................................................................................................... 167 小結(jié) .................................................................................................................................... 169 第 4 章 設(shè)計 ................................................................................. 171 測試數(shù)據(jù)庫 ........................................................................................................................ 172 測試 GUI ............................................................................................................................ 174 GUI 輸入 .................................................................................................................... 177 測試模式 ............................................................................................................................ 178 專為測試創(chuàng)建子類 .................................................................................................... 179 自勵 ............................................................................................................................ 180 HUMBLE OBJECT .................................................................................................... 181 測試設(shè)計 ............................................................................................................................ 184 脆弱測試問題 ............................................................................................................ 184 一一對應(yīng) .................................................................................................................... 185 打破對應(yīng)關(guān)系 ............................................................................................................ 187 VIDEO STORE .......................................................................................................... 188 具體 vs 通用 ............................................................................................................... 207 轉(zhuǎn)換優(yōu)先順序 .................................................................................................................... 208 {} → NIL(無代碼→空值) .................................................................................. 210 NIL → CONSTANT(空值→常量) ..................................................................... 211 UNCONDITIONAL → SELECTION(無條件→條件選擇) .............................. 212 VALUE → LIST(值→列表) ............................................................................... 213 STATEMENT → RECURSION(語句→遞歸) ................................................... 213 SELECTION → ITERATION(條件選擇→遍歷) .............................................. 214 VALUE → MUTATED VALUE(值→改變了的值) ........................................... 214 示例:斐波那契數(shù)列 ................................................................................................ 215 變換模式優(yōu)先順序假設(shè)............................................................................................. 119 小結(jié) .................................................................................................................................... 220 第 5 章 重構(gòu) .................................................................................. 221 什么是重構(gòu) ........................................................................................................................ 223 基礎(chǔ)工具包 ........................................................................................................................ 224 重命名 ........................................................................................................................ 224 方法抽取 .................................................................................................................... 225 變量抽取 .................................................................................................................... 226 字段抽取 .................................................................................................................... 228 魔方 ............................................................................................................................ 241 紀(jì)律 .................................................................................................................................... 241 測試 ............................................................................................................................ 242 快速測試 .................................................................................................................... 242 打破緊密的一一對應(yīng)關(guān)系 ......................................................................................... 242 持續(xù)重構(gòu) .................................................................................................................... 243 果斷重構(gòu) .................................................................................................................... 243 讓測試始終能通過 .................................................................................................... 243 留條出路 .................................................................................................................... 244 小結(jié) .................................................................................................................................... 245 第 6 章 簡單設(shè)計 .......................................................................... 247 YAGNI ................................................................................................................................ 250 用測試覆蓋 ........................................................................................................................ 252 覆蓋 ............................................................................................................................ 254 漸近目標(biāo) .................................................................................................................... 255 設(shè)計? ........................................................................................................................ 256 但還有更多好處 ........................................................................................................ 256 充分表達(dá) ............................................................................................................................ 257 底層抽象 .................................................................................................................... 259 再論測試:問題的后半部分 ..................................................................................... 260 盡量減少重復(fù) .................................................................................................................... 261 意外重復(fù) .................................................................................................................... 262 尺寸盡量小 ........................................................................................................................ 263 簡單設(shè)計 .................................................................................................................... 263 第 7 章 協(xié)同編程 ............................................................................ 265 第 8 章 驗收測試 ............................................................................ 269 紀(jì)律 .................................................................................................................................... 272 持續(xù)構(gòu)建 ............................................................................................................................ 273 第 Ⅱ 部 分 標(biāo)準(zhǔn) .............................................................................. 275 你的新 CTO ....................................................................................................................... 276 第 9 章 生產(chǎn)力 ............................................................................. 277 永不交付 S**T ................................................................................................................... 278 成本低廉的變更適應(yīng)能力 ................................................................................................ 280 時刻準(zhǔn)備著 ........................................................................................................................ 282 穩(wěn)定的生產(chǎn)力 .................................................................................................................... 283 第 10 章 質(zhì)量 .............................................................................. 285 持續(xù)改進(jìn) ............................................................................................................................ 286 免于恐懼 ............................................................................................................................ 287 極致質(zhì)量 ............................................................................................................................ 288 我們不把問題留給 QA ...................................................................................................... 289 QA 之疾 ...................................................................................................................... 290 QA 什么問題也不會發(fā)現(xiàn) .................................................................................................. 290 測試自動化 ........................................................................................................................ 291 自動化測試與用戶界面 .................................................................................................... 292 測試用戶界面 .................................................................................................................... 293 第 11 章 勇氣 ................................................................................ 295 我們彼此補位 .................................................................................................................... 296 靠譜的預(yù)估 ........................................................................................................................ 298 你得說不 ............................................................................................................................ 300 持續(xù)努力學(xué)習(xí) .................................................................................................................... 301 教導(dǎo) .................................................................................................................................... 302 第Ⅲ部分 操守 ............................................................................... 303 第一個程序員 .................................................................................................................... 304 75 年 ................................................................................................................................... 305 書呆子與救世主 ................................................................................................................ 310 榜樣和惡棍 ........................................................................................................................ 313 我們統(tǒng)治世界 .................................................................................................................... 314 災(zāi)難 .................................................................................................................................... 315 誓言 .................................................................................................................................... 317 第 12 章 傷害 ................................................................................ 319 首先,不造成傷害 ............................................................................................................ 320 對社會無害 ................................................................................................................ 321 對功能的損害 ............................................................................................................ 323 對結(jié)構(gòu)無害 ................................................................................................................ 326 柔軟 ............................................................................................................................ 327 測試 ............................................................................................................................ 329 最好的作品 ........................................................................................................................ 330 使其正確 .................................................................................................................... 331 什么是好結(jié)構(gòu) ............................................................................................................ 332 艾森豪威爾矩陣 ........................................................................................................ 334 程序員是利益相關(guān)者 ................................................................................................ 336 盡力而為 .................................................................................................................... 338 可重復(fù)證據(jù) ........................................................................................................................ 340 狄克斯特拉 ................................................................................................................ 340 正確性證明 ................................................................................................................ 341 結(jié)構(gòu)化編程 ................................................................................................................ 343 功能分解 .................................................................................................................... 346 TDD ............................................................................................................................ 347 第 13 章 集成 ................................................................................ 351 小周期 ................................................................................................................................ 352 源代碼控制的歷史 .................................................................................................... 352 GIT .............................................................................................................................. 358 短周期 ........................................................................................................................ 360 持續(xù)集成 .................................................................................................................... 361 分支與切換 ................................................................................................................ 362 持續(xù)部署 .................................................................................................................... 364 持續(xù)構(gòu)建 .................................................................................................................... 365 持續(xù)改進(jìn) ............................................................................................................................ 366 測試覆蓋率 ................................................................................................................ 367 突變測試 .................................................................................................................... 368 語義穩(wěn)定性 ................................................................................................................ 368 清理 ............................................................................................................................ 369 創(chuàng)造 ............................................................................................................................ 370 保持高生產(chǎn)力 .................................................................................................................... 370 拖慢速度的因素 ........................................................................................................ 371 解決注意力分散問題 ................................................................................................ 373 時間管理 .................................................................................................................... 376 第 14 章 團隊合作 .......................................................................... 379 組團工作 ............................................................................................................................ 380 開放式/虛擬辦公室 ................................................................................................... 380 誠實和合理地預(yù)估 ............................................................................................................ 382 謊言 ............................................................................................................................ 383 誠實、準(zhǔn)確、精確 .................................................................................................... 384 故事 1:載體 ............................................................................................................. 385 故事 2:pCCU ........................................................................................................... 387 教訓(xùn) ............................................................................................................................ 389 準(zhǔn)確度 ........................................................................................................................ 389 精確度 ........................................................................................................................ 391 匯總 ............................................................................................................................ 393 誠實 ............................................................................................................................ 394 尊重 .................................................................................................................................... 396 永不停止學(xué)習(xí) .................................................................................................................... 397
你還可能感興趣
我要評論
|