代碼整潔之道

代碼整潔之道 下載 mobi epub pdf 電子書 2025

[美] Robert C. Martin
圖書標籤:
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
必讀引言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
· · · · · · (收起)

具體描述

本書是編程大師“Bob大叔”40餘年編程生涯的心得體會的總結,講解要成為真正專業的程序員需要具備什麼樣的態度,需要遵循什麼樣的原則,需要采取什麼樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為後來者引路,助其職業生涯邁上更高颱階。

用戶評價

評分

##感覺書還是不錯,就是經驗有點老瞭。 本書講述瞭一個軟件工程師作為一名專業人員應有的態度:如何工作、如何管理時間、TDD、如何預估和做齣嚴謹的承諾(很害羞我之前和我 mentor 做齣的承諾就沒兌現、真是一場災難,尤其是在開源社區,也難以預估齣時間,有時候真的會麻煩彆人)、處理壓力和職業規劃。 真希望我能延續差不多十年對軟件、算法和一切硬核的東西的興趣,努力成為一個真的開發人員。

評分

##書中的內容都很棒,對於一個程序員的要求也算是正常要求,但是譯者在某些用詞上簡直沒眼看,如果不是機翻那就是作者缺乏一些項目管理領域和個人時間管理領域的知識,甚至讓我對其專業能力産生瞭懷疑。 比如將Affinity Estimation翻譯成關聯預估,這是非常基礎的項目管理用詞。再比如4.2流態區是什麼東西?從下麵的內容來看應該是“心流”,這也是常見的時間管理用詞。 還有那個“1024字的磁鼓式內存”已經讓我徹底懷疑作者的專業性瞭,先不說這裏到底是byte還是bit,作為譯者真的有好好讀這個翻譯的結果麼?

評分

##dbq 我覺得這本書可以用作阿董軟件工程的課外讀物瞭哈哈哈哈哈哈哈哈哈哈 看書的時候想到阿董的吐槽就十分有趣????

評分

##職業化是任何職業都應該追求的目標

評分

##與Bob大叔的一次促膝長談。雖然距離看完這本書已經過去挺久瞭,但是對開篇提到的兩點還是記憶猶新,第一是學會說不,不要抱著“試試看”的想法去評估風險,以免消耗彆人對你的信任;第二是學會說是,當你給齣肯定迴答時,應該使用承諾用語,以確保溝通沒有gap。在這兩點之後,Bob大叔纔開始和你談關於編碼的基礎能力、測試驗收、時間管理、壓力應對、團隊方麵的心得和教訓。

評分

##副標題作為主標題比較準確。

評分

##不認同書中的大多數觀點,這本書顯得過時瞭。猜測作者是齣身於傳統軟件行業的老程序員?對於員工的要求過於苛刻,看問題的角度像是老闆而不是程序員。關於測試,盲目追求覆蓋率甚至為瞭測試改變程序應有的結構,我覺得是不可接受的。文中很多觀點浮於錶麵,比如要求代碼要經常改,我同意,但本質上應該保持簡潔的同時應變復雜的需求。隻有簡單的東西纔是可以被依賴的。總之,這本書一行代碼都沒,感覺在瞎扯。

評分

##學習瞭!

評分

##職業化是任何職業都應該追求的目標

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有