|
-- 會員 / 註冊 --
|
|
|
|
代碼精進之路 從碼農到工匠 ( 簡體 字) |
作者:張建飛 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 52188 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:1/1/2020 |
頁數:232 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115521026 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:這是一本為專業程序員而寫的書,寫好代碼、追求卓越和工匠精神是每個程序員都應該具備的優秀品質。 本書共有13章內容,主要分為技藝部分、思想部分和實踐部分。技藝部分詳細介紹了編程技巧和方法論,并配以詳盡的代碼案例,有助于讀者提高編寫代碼的能力,優化代碼質量。思想部分主要包括抽象能力、分治思想,以及程序員應該具備的素養等內容。實踐部分主要介紹了常見的應用架構模式,以及COLA架構的設計原理。 |
目錄:第 一部分 技 藝 第 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
|
序: |
|