作者介紹
(美)羅伯特·C.馬丁|責編:楊海玲
羅伯特·C.馬丁(Robert C.Martin),世界級軟體開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C++ Report雜誌前主編。他從20世紀70年代起就是一名程序員,被後輩程序員尊稱為「鮑勃大叔」(Uncle Bob)。
他是Clean Coders網站的創始人,這個網站為軟體開發者提供在線視頻培訓。他也是「鮑勃大叔咨詢公司」(Uncle Bob Consulting LLC)的創始人,這家公司為世界各地的大企業提供軟體咨詢、培訓和技能發展服務。
他的著作有《代碼整潔之道》《代碼整潔之道:程序員的職業素養》《敏捷整潔之道:回歸本源》《架構整潔之道》《敏捷軟體開發:原則、模式與實踐》等。
目錄
Pre-RequisiteIntroduction / 必讀引言
Chapter 1 Professionalism / 專業主義
BeCareful What You Ask For / 清楚你要什麼
TakingResponsibility / 擔當責任
First,Do No Harm / 首先,不行損害之事
WorkEthic
Bibliography/ 參考文獻
Chapter 2 Saying No / 說「不」
AdversarialRoles / 對抗角色
HighStakes / 高風險時刻
Beinga 「Team Player」 / 要有團隊精神
TheCost of Saying Yes / 說「是」的成本
CodeImpossible / 如何寫出好代碼
Chapter 3 Saying Yes / 說「是」
ALanguage of Commitment / 承諾用語
LearningHow to Say 「Yes」 / 學習如何說「是」
Conclusion/ 結論
Chapter 4 Coding / 編碼
Preparedness/ 做好準備
TheFlow Zone / 流態區
Writer's Block / 阻塞
Debugging/ 調試
PacingYourself / 保持節奏
BeingLate / 進度延遲
Help/ 幫助
Bibliography/ 參考文獻
Chapter 5 Test Driven Development / 測試驅動開發
TheJury Is In / 此事已有定論
TheThree Laws of TDD / TDD的三項法則
WhatTDD Is Not / TDD的局限
Bibliography/ 參考文獻
Chapter 6 Practicing / 練習
SomeBackground on Practicing / 引子
TheCoding Dojo / 編程柔道場
BroadeningYour Experience / 自身經驗的拓展
Conclusion/ 結論
Bibliography/ 參考文獻
Chapter 7 Acceptance Testing / 驗收測試
CommunicatingRequirements / 需求的溝通
AcceptanceTests / 驗收測試
Conclusion/ 結論
Chapter 8 Testing Strategies / 測試策略
QAShould Find Nothing / QA應該找不到任何錯誤
TheTest Automation Pyramid / 自動化測試金字塔
Conclusion/ 結論
Bibliography/ 參考文獻
Chapter 9 Time Management / 時間管理
Meetings/ 會議
Focus-Manna/ 注意力點數
TimeBoxing and Tomatoes / 時間拆分和番茄工作法
Avoidance/ 要避免的行為
BlindAlleys / 死衚衕
Marshes,Bogs, Swamps, and Other Messes / 泥潭
Conclusion/ 結論
Chapter 10 Estimation / 預估
WhatIs an Estimate / 什麼是預估
PERT
EstimatingTasks / 預估任務
TheLaw of Large Numbers / 大數定律
Conclusion/ 結論
Bibliography/ 參考文獻
Chapter 11 Pressure / 壓力
AvoidingPressure / 避免壓力
HandlingPressure / 應對壓力
Conclusion/ 結論
Chapter 12 Collaboration / 協作
Programmersversus People / 程序員與人
Cerebellums/ 小腦
Conclusion/ 結論
Chapter 13 Teams and Projects / 團隊與項目
DoesIt Blend / 只是簡單混合嗎
Conclusion/ 結論
Bibliography/ 參考文獻
Chapter 14 Mentoring, Apprenticeship, and Craftsmanship / 輔導、學徒期與技藝
Degreesof Failure / 失敗的學位教育
Mentoring/ 輔導
Apprenticeship/ 學徒期
Craftsmanship/ 技藝
Conclusion/ 結論
Appendix A Tooling / 工具
Tools/ 工具
SourceCode Control / 源代碼控制
IDE/Editor/ 集成開發環境/編輯器
IssueTracking / 問題跟蹤
ContinuousBuild / 持續構建
UnitTesting Tools / 單元測試工具
ComponentTesting Tools / 組件測試工具
IntegrationTesting Tools / 集成測試工具
UML/MDA
Conclusion/ 結論