《程序員的職業素養》是編程大師 Robert C. Martin40余年編程生涯的心得體會, 講解成為真正專業的程序員需要什么樣的態度、原則,需要采取什么樣的行動。Robert C. Martin以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為后來人引路,助其職業生涯邁上更高臺階。
目錄
第1章 專業主義
1.1 清楚你要什么
1.2 擔當責任
1.3 首先,不行損害之事
1.3.1 不要破壞軟件功能
1.3.2 不要破壞結構
1.4 職業道德
1.4.1 了解你的領域
1.4.2 堅持學習
1.4.3 練習
1.4.4 合作
1.4.5 輔導
1.4.6 了解業務領域
1.4.7 與雇主/客戶保持一致
1.4.8 謙遜
1.5 參考文獻
第2章 說“不”
2.1對抗角色
2.2高風險時刻
2.3要有團隊精神
2.3.1試試看
2.3.2消極對抗
2.4說“是”的成本
2.5如何寫出好代碼
第3章說“是”
3.1承諾用語
3.1.1識別“缺乏承諾”的征兆
3.1.2真正的承諾聽起來是怎樣的
3.1.3 總結
3.2學習如何說“是”
3.2.1 “試試”的另一面
3.2.2 堅守原則
3.3結論
第4章編碼
4.1做好準備
4.1.1 凌晨3點寫出的代碼
4.1.2焦慮時寫下的代碼
4.2流態區
4.2.1 音樂
4.2.2 中斷
4.3 阻塞
4.4調試
4.5保持節奏
4.5.1知道何時應該離開一會
4.5.2開車回家路上
4.5.3 洗澡
4.6進度延遲
4.6.1期望
4.6.2盲目沖刺
4.6.3加班加點
4.6.4交付失誤
4.6.5定義“完成”
4.7幫助
4.7.1幫助他人
4.7.2接受他人的幫助
4.7.3 輔導
4.8參考文獻
第5章測試驅動開發
5.1此事已有定論
5.2 TDD的三項法則
5.3 TDD的優勢
5.3.1 確定性
5.3.2缺陷注入率
5.3.3 勇氣
5.3.4 文檔
5.3.5設計
5.3.6、專業人士的選擇
5.4 TDD的局限
5.5參考文獻
第6章練習
6.1 引子
6.1.1 10的22次方
6.1.2轉變
6.2編程柔道場
6.2.1 卡塔
6.2.2瓦薩
6.2.3 自由練習
6.3 自身經驗的拓展
6.3.1 開源
6.3.2 關于練習的職業道德
6.4結論
6.5參考文獻
第7章驗收測試
7.1需求的溝通
7.1.1過早精細化
7.1.2遲來的模糊性
7.2驗收測試
7.2.1 “完成”的定義
7.2.2 溝通
7.2.3 自動化
7.2.4額外工作
7.2.5驗收測試什么時候寫,由誰來寫
7.2.6開發人員的角色
7.2.7測試的協商與被動推進
7.2.8驗收測試和單元測試
7.2.9 圖形界面及其他復雜因素
7.2.10持續集成
7.3結論
第8章測試策略
8.1 QA應該找不到任何錯誤
8.1.1 QA也是團隊的一部分
8.1.2需求規約定義者
8.1.3特性描述者
8.2自動化測試金字塔
8.2.1 單元測試
8.2.2組件測試
8.2.3集成測試
8.2.4 系統溺4試
8.2.5人工探索式測試
8.3結論
8.4參考文獻
第9章時間管理
9.1 會議
9.1.1拒絕
9.1.2 離席
9.1.3確定議程與目標
9.1.4立會
9.1.5迭代計劃會議
9.1.6迭代回顧和DEM0展示
9.1.7爭論/反對
9.2注意力點數
9.2.1 睡眠
9.2.2咖啡因
9.2.3恢復
9.2.4肌肉注意力
……
第10章 預估
第11章 壓力
第12章 協作
第13章 團隊與項目
第14章 輔導、學徒期與技藝
附錄 工具