代碼整潔之道:程式設計師的職業素養

代碼整潔之道:程式設計師的職業素養

《代碼整潔之道:程式設計師的職業素養》是2016年人民郵電出版社出版的圖書,作者是羅伯特·C.馬丁。

基本介紹

  • 中文名:代碼整潔之道:程式設計師的職業素養
  • 作者:羅伯特·C.馬丁
  • 出版社:人民郵電出版社
  • 出版時間:2016年9月1日
  • 頁數:170 頁
  • 定價:49 元
  • 開本:16 開 
  • 裝幀:平裝
  • ISBN:9787115434159
內容簡介,作者簡介,目錄,

內容簡介

成功的程式設計師在以往的工作和生活中都曾經歷過大大小小的不確定性,承受過永無休止的壓力。他們之所以能夠成功,是因為擁有一個共同點,都深切關注創建軟體所需的各項實踐。他們將軟體開發視為一種需要加以修煉的技藝,他們以專業人士的標準要求自己,他們具有職業素養。
Robert C. Martin在書中介紹了真實軟體技藝中的各項原則、技術、工具和實踐,展示了怎么以自豪、自尊和自信的心態進行軟體開發,怎么取得卓越表現和豐碩成果,怎么做到有效溝通和確切估算,怎么以坦誠的心態面對困難,並引導讀者認識到專業程式設計師肩負的責任重大,闡述了什麼才是程式設計師的職業素養

作者簡介

作者:Robert C. Martin,軟體開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C++ Report前主編,被後輩程式設計師尊稱為“Bob大叔”。20世紀7 0年代初成為職業程式設計師,後創辦Object Mentor公司並任總裁。Martin還是一名多產的作家,至今已發表數百篇文章、論文和部落格文章。除本書外,還著有《代碼整潔之道》《敏捷軟體開發:原則、模式和實踐》《UML:Java程式設計師指南》等。
譯者:余晟,混跡軟體開發和網際網路行業多年,目前在滬江網負責研發和架構管理工作。
章顯洲,螞蟻金服高級項目專家,業餘以技術翻譯作為個人修煉與回饋軟體開發社區的途徑。主要致力於螞蟻金服基礎設施和架構升級方面的項目集管理。

目錄

必讀引言1
第1章 專業主義 7
1.1 清楚你要什麼 8
1.2 擔當責任 8
1.3 首先,不行損害之事 10
1.3.1 不要破壞軟體功能 10
1.3.2 不要破壞結構 12
1.4 職業道德 13
1.4.1 了解你的領域 14
1.4.2 堅持學習 16
1.4.3 練習 16
1.4.4 合作 17
1.4.5 輔導 17
1.4.6 了解業務領域 17
1.4.7 與僱主/客戶保持一致 18
1.4.8 謙遜 18
1.5 參考文獻 18
第2章 說“不” 19
2.1 對抗角色 21
2.2 高風險時刻 24
2.3 要有團隊精神 25
2.3.1 試試看 26
2.3.2 消極對抗 28
2.4 說“是”的成本 30
2.5 如何寫出好代碼 35
第3章 說“是” 37
3.1 承諾用語 39
3.1.1 識別“缺乏承諾”的徵兆 40
3.1.2 真正的承諾聽起來是怎樣的 40
3.1.3 總結 43
3.2 學習如何說“是” 43
3.2.1 “試試”的另一面 43
3.2.2 堅守原則 44
3.3 結論 46
第4章 編碼 47
4.1 做好準備 48
4.1.1 凌晨3點寫出的代碼 49
4.1.2 焦慮時寫下的代碼 50
4.2 流態區 51
4.2.1 音樂 52
4.2.2 中斷 53
4.3 阻塞 53
4.4 調試 55
4.5 保持節奏 57
4.5.1 知道何時應該離開一會 58
4.5.2 開車回家路上 58
4.5.3 洗澡 58
4.6 進度延遲 58
4.6.1 期望 59
4.6.2 盲目衝刺 59
4.6.3 加班加點 60
4.6.4 交付失誤 60
4.6.5 定義“完成” 61
4.7 幫助 61
4.7.1 幫助他人 61
4.7.2 接受他人的幫助 62
4.7.3 輔導 62
4.8 參考文獻 63
第5章 測試驅動開發 65
5.1 此事已有定論 66
5.2 TDD的三項法則 67
5.3 TDD的優勢 68
5.3.1 確定性 68
5.3.2 缺陷注入率 68
5.3.3 勇氣 69
5.3.4 文檔 69
5.3.5 設計 70
5.3.6 專業人士的選擇 70
5.4 TDD的局限 70
5.5 參考文獻 71
第6章 練習 73
6.1 引子 73
6.1.110的22次方 74
6.1.2 轉變 75
6.2 編程柔道場 76
6.2.1 卡塔 77
6.2.2 瓦薩 78
6.2.3 自由練習 78
6.3 自身經驗的拓展 79
6.3.1 開源 79
6.3.2 關於練習的職業道德 79
6.4 結論 80
6.5 參考文獻 80
第7章 驗收測試 81
7.1 需求的溝通 81
7.1.1 過早精細化 83
7.1.2 遲來的模糊性 83
7.2 驗收測試 85
7.2.1 “完成”的定義 85
7.2.2 溝通 88
7.2.3 自動化 88
7.2.4 額外工作 89
7.2.5 驗收測試什麼時候寫,由誰來寫 90
7.2.6 開發人員的角色 90
7.2.7 測試的協商與被動推進 91
7.2.8 驗收測試和單元測試 93
7.2.9 圖形界面及其他複雜因素 93
7.2.10 持續集成 94
7.3 結論 95
第8章 測試策略 97
8.1 QA應該找不到任何錯誤 98
8.1.1 QA也是團隊的一部分 98
8.1.2 需求規約定義者 98
8.1.3 特性描述者 98
8.2 自動化測試金字塔 98
8.2.1 單元測試 99
8.2.2 組件測試 100
8.2.3 集成測試 100
8.2.4 系統測試 101
8.2.5 人工探索式測試 102
8.3 結論 102
8.4 參考文獻 102
第9章 時間管理 103
9.1 會議 104
9.1.1 拒絕 104
9.1.2 離席 105
9.1.3 確定議程與目標 105
9.1.4 立會 106
9.1.5 疊代計畫會議 106
9.1.6 疊代回顧和DEMO展示 107
9.1.7 爭論/反對 107
9.2 注意力點數 108
9.2.1 睡眠 108
9.2.2 咖啡因 108
9.2.3 恢復 109
9.2.4 肌肉注意力 109
9.2.5 輸入與輸出 109
9.3 時間拆分和番茄工作法 110
9.4 要避免的行為 110
9.5 死胡同 111
9.6 泥潭 111
9.7 結論 112
第10章 預估 113
10.1 什麼是預估 115
10.1.1 承諾 115
10.1.2 預估 115
10.1.3 暗示性承諾 117
10.2 PERT 118
10.3 預估任務 120
10.4 大數定律 122
10.5 結論 123
10.6 參考文獻 123
第11章 壓力 125
11.1 避免壓力 127
11.1.1 承諾 127
11.1.2 保持整潔 127
11.1.3 危機中的紀律 128
11.2 應對壓力 128
11.2.1 不要驚慌失措 128
11.2.2 溝通 129
11.2.3 依靠你的紀律原則 129
11.2.4 尋求幫助 129
11.3 結論 129
第12章 協作 131
12.1 程式設計師與人 133
12.1.1 程式設計師與僱主 133
12.1.2 程式設計師與程式設計師 135
12.2 小腦 137
12.3 結論 138
第13章 團隊與項目 139
13.1 只是簡單混合嗎 139
13.1.1 有凝聚力的團隊 140
13.1.2 如何管理有凝聚力的團隊 141
13.1.3 項目承包人的困境 142
13.2 結論 142
13.3 參考文獻 143
第14章 輔導、學徒期與技藝 145
14.1 失敗的學位教育 145
14.2 輔導 146
14.2.1 DIGI—COMPI,我的第一台計算機 146
14.2.2 高中時代的ECP—18148
14.2.3 非常規輔導 150
14.2.4 艱難的錘鍊 150
14.3 學徒期 151
14.3.1 軟體學徒期 152
14.3.2 現實情況 154
14.4 技藝 154
14.5 結論 155
附錄 工具 157

相關詞條

熱門詞條

聯絡我們