代碼的藝術:用工程思維驅動軟件開發(必讀經典簡裝本)
章渺
- 出版商: 電子工業
- 出版日期: 2022-11-01
- 定價: $456
- 售價: 8.5 折 $388
- 語言: 簡體中文
- 頁數: 292
- ISBN: 7121444852
- ISBN-13: 9787121444852
-
相關分類:
專案管理 PM
-
其他版本:
代碼的藝術:用工程思維驅動軟件開發
立即出貨 (庫存=1)
買這商品的人也買了...
-
$559嵌入式協議棧 μC/TCP-IP - 基於 STM32 微控制器
-
$690$538 -
$300$255 -
$500$199 -
$305機器學習入門與實戰 — 基於 scikit-learn 和 Keras
-
$454OpenCV 4.5 電腦視覺開發實戰 (基於 VC++)
-
$354$336 -
$468$445 -
$890$703 -
$356集成學習入門與實戰:原理、算法與應用
-
$560數字圖像處理與機器視覺 — Visual C++ 與 Matlab 實現, 2/e
-
$407PyTorch 自然語言處理入門與實戰
-
$458基於機器學習的工作流活動推薦
-
$659$626 -
$505DataOps 實踐手冊 : 敏捷精益的數據運營
-
$352Python 深度強化學習 — 使用 PyTorch, TensorFlow 和 OpenAI
-
$305Python 自然語言處理入門與實戰
-
$403貝葉斯算法與機器學習
-
$407網絡 DevOps 平臺規劃、設計與實踐 — 基於企業架構(EA)和領域建模(DDD)的方法
-
$779$740 -
$456軟件開發的 201個原則 (必讀經典簡裝本)
-
$407Python 程序員面試筆試通關攻略
-
$602因果推斷與機器學習
-
$419$398 -
$294$279
商品描述
本書是作者圍繞軟件工程能力所做的系列培訓的內容匯編。這些內容來源於作者20 多年以來對軟件工程的學習體會和項目實踐,以及對中國工業界軟件工程師的觀察和教育實踐。 全書共8 章,第1 章說明瞭什麼是軟件工程能力,闡述了軟件工程能力中的素質要求。第2~8 章分別從代碼、文檔、項目管理這三個方面講解了提升軟件工程能力素質的實踐方法。 對於代碼,第2 章"代碼的藝術”對其進行了總體說明,第3 章重點說明瞭代碼評審,第4 章以Mini-spider 為例說明瞭方法如何運用。 對於文檔,第5 章說明瞭如何寫好項目文檔,第6 章說明瞭做研究的基本方法。對於項目管理,第7 章簡要說明瞭如何做好項目管理,第8章重點說明瞭如何做好項目溝通。
目錄大綱
第1 章
軟件工程能力
1.1 為什麼要重視工程能力 / 3
1.2 什麼是工程能力 / 5
1.2.1 工程能力的誤區 / 5
1.2.2 工程能力的定義 / 6
1.3 怎樣提升工程能力 / 11
第2 章
代碼的藝術
2.1 背景和初衷 / 17
2.2 代碼和藝術 / 18
2.2.1 代碼也能成為藝術作品 / 18
2.2.2 軟件工程師和“碼農” / 22
2.2.3 來自藝術的啟發 / 24
2.2.4 寫代碼並非易事 / 26
2.3 好代碼和壞代碼 / 28
2.3.1 好代碼的特性 / 28
2.3.2 壞代碼的例子 / 33
2.4 好代碼從哪裡來 / 35
2.4.1 好代碼不止於編碼 / 35
2.4.2 需求分析和系統設計 / 36
2.5 如何做好需求分析 / 41
2.5.1 如何描述需求 / 41
2.5.2 對需求分析的誤解 / 43
2.5.3 需求分析的重要性 / 47
2.6 如何做好系統設計 / 47
2.6.1 什麼是系統設計 / 48
2.6.2 設計文檔的分類 / 49
2.6.3 什麼是系統架構 / 50
2.6.4 系統設計的原則和方法 / 52
2.6.5 重視對外接口 / 56
2.7 如何寫出好代碼 / 59
2.7.1 代碼的溝通價值 / 59
2.7.2 模塊的設計方法 / 64
2.7.3 劃分模塊的方法 / 71
2.7.4 函數的設計方法 / 75
2.7.5 代碼塊的編寫註意事項 / 85
2.7.6 軟件開發中的命名 / 89
2.8 如何支持系統運營 / 90
2.8.1 可監測性的重要性 / 91
2.8.2 以BFE 開源項目為例 / 92
2.9 成為優秀軟件工程師的三條路徑 / 93
2.9.1 路徑一:學習—思考—實踐 / 93
2.9.2 路徑二:知識—方法—精神 / 96
2.9.3 路徑三:基礎乃治學之根本 / 98
第3 章
代碼評審
3.1 代碼評審的常見誤區 / 103
3.2 為什麼要做好代碼評審 / 104
3.2.1 代碼評審的重要意義 / 104
3.2.2 沒有做好代碼評審的後果 / 106
3.2.3 為什麼要提升代碼質量 / 106
3.2.4 為什麼要提升編碼能力 / 108
3.3 如何做好代碼評審 / 108
3.3.1 代碼評審的常見問題 / 109
3.3.2 代碼評審的正確態度 / 109
3.3.3 代碼評審的推薦步驟 / 111
3.3.4 對壞代碼的簡單判斷 / 112
3.3.5 代碼評審的註意事項 / 113
3.4 如何成為好的代碼評審人 / 116
第4 章
“代碼的藝術”應用
4.1 需求的分析 / 121
4.1.1 題目說明 / 121
4.1.2 功能分析 / 122
4.2 軟件的架構 / 123
4.2.1 模塊切分 / 123
4.2.2 系統架構 / 128
4.2.3 軟件組裝 / 130
4.2.4 crawler 間的數據共享 / 132
4.2.5 數據封裝 / 133
4.2.6 crawler 的執行邏輯 / 134
4.3 多線程機制 / 135
4.3.1 數據互斥訪問 / 136
4.3.2 臨界區註意事項 / 138
4.3.3 任務的分發 / 141
4.3.4 程序的優雅退出 / 143
4.4 其他實現細節 / 146
4.4.1 配置的讀取 / 146
4.4.2 種子信息的讀取 / 147
4.4.3 import 的使用 / 150
4.4.4 異常處理 / 151
4.4.5 構造函數的使用 / 153
4.4.6 正則表達式的使用 / 154
4.5 延伸思考 / 156
4.5.1 實現對各網站的限速 / 156
4.5.2 從單機擴展到分佈式 / 157
第5 章
項目文檔
5.1 正確認識項目文檔 / 161
5.1.1 項目文檔的重要作用 / 161
5.1.2 項目文檔的常見誤區 / 162
5.1.3 項目文檔的常見問題 / 164
5.1.4 什麼時候需要寫項目文檔 / 165
5.1.5 項目文檔是寫給誰的 / 167
5.1.6 項目文檔的基本規範 / 169
5.2 項目文檔的編寫 / 170
5.2.1 編寫順序 / 170
5.2.2 文檔標題 / 171
5.2.3 段落編寫 / 173
5.2.4 問題劃分 / 176
5.2.5 表述模式 / 177
5.3 項目文檔中的圖片 / 179
5.4 文檔的評審 / 185
5.4.1 文檔評審常見問題 / 185
5.4.2 文檔評審的方法 / 186
5.5 文檔的存放 / 187
5.5.1 文檔存放常見錯誤 / 187
5.5.2 文檔存放的建議 / 188
5.5.3 文檔索引的例子 / 189
5.5.4 存放工具的選擇 / 192
5.6 文檔編寫工具 / 194
5.7 如何提高文檔編寫能力 / 195
第6 章
做研究
6.1 什麼是研究 / 199
6.2 如何做好研究 / 201
6.2.1 發現問題 / 201
6.2.2 分析問題 / 203
6.2.3 解決問題 / 205
6.3 做好研究的必備素質 / 206
6.3.1 關於做人 / 206
6.3.2 關於做事 / 208
6.3.3 關於做學問 / 209
第7 章
項目管理
7.1 重視項目管理 / 213
7.2 相關基本概念 / 215
7.3 項目管理的過程和步驟 / 218
7.3.1 項目啟動和規劃 / 219
7.3.2 項目執行和監控 / 224
7.3.3 項目總結與回顧 / 227
第8 章
項目溝通
8.1 項目溝通的重要性 / 233
8.2 項目溝通方式及對比 / 235
8.3 面對面溝通 / 238
8.4 電話溝通 / 239
8.5 會議溝通 / 240
8.6 IM 工具溝通 / 245
8.7 Email 溝通 / 247
附錄A
延伸閱讀圖書推薦
軟件工程和編程思想類 / 251
項目管理類 / 252
項目文檔編寫和閱讀類 / 252
產品設計類 / 253