總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 計算技術、計算機技術
 
 
 
 
代碼精進之路:從碼農到工匠(附線上配套資源)
 作  者: 張建飛
 出版單位: 人民郵電
 出版日期: 2020.01
 進貨日期: 2020/4/8
 ISBN: 9787115521026
 開  本: 16 開    
 定  價: 518
 售  價: 414
  會 員 價: 380

目前無補書計畫

推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

寫代碼不僅是技術,更是一門技藝! 1.全面講解編程技藝與方法,幫助讀者培養良好的編程習慣。 2.著重培養技術人員的思想與素養,分享多年技術管理心得。 3.深度揭秘阿里巴巴團隊在複雜度治理方面的探索與實踐。 4.重點介紹開源框架COLA架構及其企業級應用“工匠平台”。


內容簡介:

這是一本為專業程序員而寫的書,寫好代碼、追求卓越和工匠精神是每個程序員都應該具備的優秀品質。

本書共有13章內容,主要分為技藝部分、思想部分和實踐部分。技藝部分詳細介紹了編程技巧和方法論,並配以詳盡的代碼案例,有助於讀者提高編寫代碼的能力,優化代碼質量。思想部分主要包括抽象能力、分治思想,以及程序員應該具備的素養等內容。實踐部分主要介紹了常見的應用架構模式,以及COLA架構的設計原理。


作者簡介:

張建飛,阿里巴巴集團高級技術專家,Java全球管理組織(JCP)執行委員會正式會員(Full Member)。2007年計算機工程碩士畢業後,先後在軟件公司InfoSys與互聯網公司eBay擔任高級研發和技術專家的職務。2014年加入阿里巴巴,先後在1688、ICBU和零售通擔任技術主管。 作者精通面向對象技術,有豐富的一線編碼實戰和架構經驗。特別是在應用架構、領域建模和複雜度治理領域,自研了COLA框架。COLA自開源以來,已經被多個技術團隊使用,解決了DDD落地和應用擴展問題,受到了普遍關注和一致好評。 作者提倡“工匠精神”,對於如何打造一個追求卓越、獨具匠心的技術團隊,如何量化考核工程師的技術貢獻,都有著非常深入的思考和實踐,並探索出一套切實可行的方法論。基於該方法論打造的“工匠平台”,在阿里巴巴內部被廣泛使用,“工匠平台”豐富了對技術人員考察的維度,是除業務結果之外的從技術視角給技術人員“照鏡子”的有效工具。


圖書目錄:

第 一部分 技 藝

第 1章 命名 / 3

1.1 命名的力量 / 3

1.2 命名其實很難 / 4

1.3 有意義的命名 / 5

1.3.1 變量名 / 5

1.3.2 函數名 / 5

1.3.3 類名 / 6

1.3.4 包名 / 7

1.3.5 模塊名 / 7

1.4 保持一致性 / 7

1.4.1 每個概念一個詞 / 8

1.4.2 使用對仗詞 / 8

1.4.3 後置限定詞 / 9

1.4.4 統一業務語言 / 10

1.4.5 統一技術語言 / 10

1.5 自明的代碼 / 10

1.5.1 中間變量 / 11

1.5.2 設計模式語言 / 11

1.5.3 小心注釋 / 12

1.6 命名工具 / 14

1.7 本章小結 / 15

第 2章 規範 / 16

2.1 認知成本 / 16

2.2 混亂的代價 / 17

2.3 代碼規範 / 18

2.3.1 代碼格式 / 18

2.3.2 空行規範 / 19

2.3.3 命名規範 / 21

2.3.4 日誌規範 / 22

2.3.5 異常規範 / 25

2.4 埋點規範 / 28

2.5 架構規範 / 30

2.6 防止破窗 / 30

2.7 本章小結 / 31

第3章 函數 / 32

3.1 什麼是函數 / 32

3.2 軟件中的函數 / 33

3.3 封裝判斷 / 33

3.4 函數參數 / 34

3.5 短小的函數 / 35

3.6 職責單一 / 36

3.7 精簡輔助代碼 / 37

3.7.1 優化判空 / 37

3.7.2 優化緩存判斷 / 38

3.7.3 優雅降級 / 39

3.8 組合函數模式 / 40

3.9 SLAP / 43

3.10 函數式編程 / 48

3.11 本章小結 / 49

第4章 設計原則 / 51

4.1 SOLID概覽 / 51

4.2 SRP / 52

4.3 OCP / 53

4.4 LSP / 54

4.4.1 警惕instanceof / 55

4.4.2 子類覆蓋父類函數 / 55

4.5 ISP / 57

4.6 DIP / 58

4.7 DRY / 61

4.8 YAGNI / 61

4.9 Rule of Three / 62

4.10 KISS原則 / 62

4.11 POLA原則 / 63

4.12 本章小結 / 63

第5章 設計模式 / 64

5.1 模式 / 64

5.2 GoF / 65

5.3 攔截器模式 / 69

5.4 插件模式 / 73

5.5 管道模式 / 75

5.5.1 鏈式管道 / 75

5.5.2 流處理 / 78

5.6 本章小結 / 79

第6章 模型 / 81

6.1 什麼是模型 / 81

6.1.1 物理模型 / 82

6.1.2 數學模型 / 82

6.1.3 概念模型 / 82

6.1.4 思維模型 / 83

6.1.5 模型不能代替現實 / 83

6.2 UML / 84

6.3 類圖 / 85

6.3.1 類的UML表示法 / 86

6.3.2 類的關聯關係 / 87

6.3.3 類的依賴關係 / 92

6.3.4 類的泛化關係 / 93

6.3.5 接口與實現關係 / 94

6.4 領域模型 / 95

6.5 敏捷建模 / 96

6.6 廣義模型 / 97

6.6.1 C4模型 / 97

6.6.2 UI流程圖 / 97

6.6.3 業務模型 / 98

6.7 本章小結 / 99

第7章 DDD的精髓 / 101

7.1 什麼是DDD / 101

7.2 初步體驗DDD / 102

7.3 數據驅動和領域驅動 / 104

7.3.1 數據驅動 / 104

7.3.2 領域驅動 / 106

7.3.3 ORM / 108

7.4 DDD的優勢 / 109

7.4.1 統一語言 / 110

7.4.2 面向對象 / 110

7.4.3 業務語義顯性化 / 111

7.4.4 分離業務邏輯和技術細節 / 111

7.5 DDD的核心概念 / 112

7.5.1 領域實體 / 112

7.5.2 聚合根 / 114

7.5.3 領域服務 / 115

7.5.4 領域事件 / 116

7.5.5 邊界上下文 / 117

7.6 領域建模方法 / 118

7.6.1 用例分析法 / 118

7.6.2 四色建模法 / 121

7.7 模型演化 / 127

7.8 為什麼DDD飽受爭議 / 127

7.8.1 照搬概念 / 128

7.8.2 抽象的靈活性 / 128

7.8.3 領域層的邊界 / 128

7.9 本章小結 / 130



第二部分 思 想

第8章 抽象 / 133

8.1 偉大的抽象 / 133

8.2 到底什麼是抽象 / 134

8.3 抽象是OO的基礎 / 135

8.4 抽象的層次性 / 136

8.5 如何進行抽象 / 137

8.5.1 尋找共性 / 137

8.5.2 提升抽象層次 / 139

8.5.3 構築金字塔 / 142

8.6 如何提升抽象思維 / 143

8.6.1 多閱讀 / 144

8.6.2 多總結 / 144

8.6.3 領域建模訓練 / 145

8.7 本章小結 / 145

第9章 分治 / 146

9.1 分治算法 / 146

9.1.1 歸並排序 / 147

9.1.2 二分搜索 / 148

9.1.3 K選擇問題 / 149

9.2 函數分解 / 150

9.3 寫代碼的兩次創造 / 150

9.3.1 第 一遍實現功能 / 150

9.3.2 第二遍重構優化 / 151

9.4 分治模式 / 151

9.5 分層設計 / 152

9.5.1 分層網絡模型 / 152

9.5.2 分層架構 / 153

9.6 橫切和豎切 / 154

9.7 本章小結 / 155

第 10章 技術人的素養 / 156

10.1 不教條 / 156

10.1.1 瀑布還是敏捷 / 157

10.1.2 貧血還是充血 / 158

10.1.3 單體還是分布式 / 159

10.2 批判性思維 / 161

10.3 成長型思維 / 162

10.4 結構化思維 / 163

10.4.1 如何落地新團隊 / 165

10.4.2 如何做晉升述職 / 166

10.5 工具化思維 / 167

10.6 好奇心 / 169

10.7 記筆記 / 170

10.8 有目標 / 171

10.9 選擇的自由 / 172

10.10 平和的心態 / 173

10.11 精進 / 174

10.12 本章小結 / 174

第 11章 技術Leader的修養 / 175

11.1 技術氛圍 / 175

11.1.1 代碼好壞味道 / 176

11.1.2 技術分享 / 176

11.1.3 CR週報 / 177

11.1.4 讀書會 / 178

11.2 目標管理 / 179

11.2.1 什麼是OKR / 179

11.2.2 SMART原則 / 180

11.2.3 OKR設定 / 181

11.3 技術規劃 / 182

11.3.1 當前問題 / 182

11.3.2 技術領域 / 183

11.3.3 業務領域 / 183

11.3.4 團隊特色 / 183

11.4 推理階梯 / 184

11.5 Leader和Manager的區別 / 185

11.6 視人為人 / 186

11.7 本章小結 / 187



第三部分 實 踐

第 12章 COLA架構 / 191

12.1 軟件架構 / 191

12.2 典型的應用架構 / 193

12.2.1 分層架構 / 193

12.2.2 CQRS / 195

12.2.3 六邊形架構 / 196

12.2.4 洋蔥架構 / 198

12.2.5 DDD / 199

12.3 COLA架構設計 / 200

12.3.1 分層設計 / 200

12.3.2 擴展設計 / 201

12.3.3 規範設計 / 205

12.3.4 COLA Archetype / 208

12.4 COLA測試 / 209

12.4.1 單元測試 / 209

12.4.2 集成測試 / 210

12.4.3 ColaMock / 210

12.5 COLA架構總覽 / 212

12.6 本章小結 / 214

第 13章 工匠平台 / 215

13.1 項目背景 / 215

13.2 整理需求 / 216

13.3 工匠Demo / 217

13.4 使用COLA / 218

13.4.1 安裝COLA / 218

13.4.2 搭建應用 / 218

13.5 領域模型 / 219

13.5.1 領域建模 / 219

13.5.2 領域詞彙表 / 221

13.6 核心業務邏輯 / 222

13.7 實現技術細節 / 227

13.7.1 數據存儲 / 227

13.7.2 控制器 / 228

13.8 測試 / 229

13.8.1 單元測試 / 229

13.8.2 集成測試 / 230

13.8.3 回歸測試 / 231

13.9 本章小結 / 232


圖片預覽:

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。