Python代碼整潔之道(2021年清華大學出版社出版的圖書)

Python代碼整潔之道(2021年清華大學出版社出版的圖書)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

《Python代碼整潔之道》是2021年清華大學出版社出版的圖書,作者是[美] 戴恩·希爾拉德(Dane Hillard),譯者是計湘婷、盧苗苗、田成平。

基本介紹

  • 書名:Python代碼整潔之道
  • 作者:[美] 戴恩·希爾拉德(Dane Hillard)
  • 譯者:計湘婷、盧苗苗、田成平
  • 出版社:清華大學出版社
  • 出版時間:2021年9月
  • 定價:79.8 元
  • 開本:16 開
  • 裝幀:鎖線裝
  • ISBN:9787302588221
內容簡介,圖書目錄,作者簡介,

內容簡介

主要內容:組織大型Python項目,實現合適的抽象級別,編寫整潔並可重用的代碼,繼承和組合,測試和性能的注意事項。

圖書目錄

第Ⅰ部分 為什麼學習Python
第1 章 Python 總覽 3
1.1 Python 是一種企業語言5
1.1.1 時代在改變 5
1.1.2 我喜歡Python 的原因 5
1.2 Python 是一種教學語言6
1.3 設計是一個過程 6
1.3.1 用戶體驗 8
1.3.2 你以前接觸過的情況 9
1.4 設計更好的軟體 10
1.4.1 軟體設計注意事項 10
1.4.2 “有機”增長的軟體 11
1.5 何時投資設計 13
1.6 新的開始 14
1.7 設計是平等的 15
1.8 如何使用本書 18
1.9 本章小結 19
第Ⅱ部分 設計基礎
第2 章 關注點分離23
2.1 命名空間 24
2.1.1 命名空間和導入語句 25
2.1.2 導入的多重面紗 27
2.1.3 命名空間可避免衝突 29
2.2 Python 中的分離層級31
2.2.1 函式 31
2.2.2 類 39
2.2.3 模組 46
2.2.4 包 47
2.3 本章小結 49
第3 章 抽象和封裝 51
3.1 什麼是抽象 51
3.1.1 “黑匣子”52
3.1.2 抽象就像洋蔥 53
3.1.3 抽象即簡化 56
3.1.4 分解實現抽象 57
3.2 封裝58
3.2.1 Python 中的封裝構造 58
3.2.2 Python 中的私有變數 60
3.3 試一試 60
3.4 編程風格也是一種抽象64
3.4.1 過程式編程 64
3.4.2 函式式編程 64
3.4.3 聲明式編程 66
3.5 類型、繼承和多態性 68
3.6 了解錯誤的抽象 70
3.6.1 方枘圓鑿71
3.6.2 智者更智71
3.7 本章小結 72
第4 章 設計高性能的代碼 73
4.1 穿越時空 74
4.1.1 複雜度有點複雜 74
4.1.2 時間複雜度 75
4.1.3 空間複雜度 79
4.2 性能與數據類型 81
4.2.1 常量時間的數據類型 81
4.2.2 線性時間的數據類型 82
4.2.3 在數據類型上操作的空間複雜度 82
4.3 讓它能夠運行,正確運行,快速運行 86
4.3.1 讓它運行86
4.3.2 讓它正確運行 87
4.3.3 讓它快速運行 90
4.4 工具91
4.4.1 timeit 模組 92
4.4.2 CPU 性能分析 93
4.5 試一試 95
4.6 本章小結 96
第5 章 測試軟體 97
5.1 什麼是軟體測試98
5.1.1 軟體是否按照要求運行 98
5.1.2 功能測試剖析 99
5.2 功能測試方法 100
5.2.1 手動測試 100
5.2.2 自動化測試 101
5.2.3 驗收測試 101
5.2.4 單元測試 103
5.2.5 集成測試 105
5.2.6 測試金字塔 105
5.2.7 回歸測試 106
5.3 事實陳述 107
5.4 使用unittest 進行單元測試 108
5.4.1 使用unittest 測試組織 108
5.4.2 使用unittest 運行測試 109
5.4.3 使用unittest 編寫第一個測試 109
5.4.4 使用unittest 編寫第一個集成測試 113
5.4.5 測試替身 116
5.4.6 試一試118
5.4.7 編寫有趣的測試 121
5.5 使用pytest測試 121
5.5.1 使用pytest 測試組織 122
5.5.2 把unittest測試轉換為pytest 123
5.6 超越功能測試 124
5.6.1 性能測試 124
5.6.2 負載測試 125
5.7 測試驅動開發:入門 126
5.7.1 測試驅動開發是一種心態 126
5.7.2 測試驅動開發是一種哲學 126
5.8 本章小結 127
第Ⅲ部分 明確大型系統
第6 章 實踐中的關注點分離 131
6.1 命令行書籤應用程式 132
6.2 踏上Bark 之旅 133
6.3 初始代碼結構 134
6.3.1 持久層 136
6.3.2 業務邏輯層 148
6.3.3 表示層 153
6.4 本章小結 162
第7 章 可擴展性和靈活性 163
7.1 什麼是可擴展的代碼 163
7.1.1 添加新行為 164
7.1.2 修改現有行為 167
7.1.3 松耦合168
7.2 解決僵化性170
7.2.1 放手:控制反轉 171
7.2.2 細節決定成敗:依賴接口 175
7.2.3 抵抗熵:穩健性原則 176
7.3 擴展練習 177
7.4 本章小結 182
第8 章 有關繼承的規則(及例外) 183
8.1 過去編程中的繼承 183
8.1.1 銀彈 184
8.1.2 繼承的挑戰 184
8.2 當前編程中的繼承 186
8.2.1 繼承到底是為了什麼 186
8.2.2 可替代性 188
8.2.3 繼承的理想用例 189
8.3 Python 中的繼承 192
8.3.1 類型檢查 192
8.3.2 超類訪問 193
8.3.3 多重繼承和方法解析順序 194
8.3.4 抽象基類 198
8.4 Bark 中的繼承和組合 201
8.4.1 重構以使用抽象基類 201
8.4.2 對繼承工作進行最後的檢查 203
8.5 本章小結 204
第9 章 保持輕量級 205
9.1 類/函式/模組應該有多大 206
9.1.1 物理度量 206
9.1.2 單一職責 207
9.1.3 代碼的複雜度 207
9.2 分解複雜度212
9.2.1 提取配置 212
9.2.2 提取函式 215
9.3 分解類 218
9.3.1 複雜度初始化 218
9.3.2 提取類和轉發調用 221
9.4 本章小結 226
第10 章 實現松耦合 227
10.1 定義耦合 227
10.1.1 結締組織 228
10.1.2 緊耦合 229
10.1.3 松耦合 232
10.2 識別耦合 235
10.2.1 依戀情結 235
10.2.2 散彈式修改237
10.2.3 抽象泄漏 237
10.3 Bark 中的耦合 238
10.4 定址耦合 241
10.4.1 用戶訊息傳遞241
10.4.2 書籤持久性· 245
10.4.3 試一試 246
10.5 本章小結 250
第Ⅳ部分 下一步學習什麼
第11 章 全力以赴 253
11.1 現在怎么辦 253
11.1.1 制訂計畫 254
11.1.2 執行計畫 256
11.1.3 跟蹤進度 257
11.2 設計模式 259
11.2.1 Python 設計模式的起伏 261
11.2.2 需要了解的術語 261
11.3 分散式系統 262
11.3.1 分散式系統中的故障模式 263
11.3.2 定址應用程式狀態 263
11.3.3 入門術語 264
11.4 進行Python深潛 264
11.4.1 Python 代碼樣式264
11.4.2 語言特徵是模式 265
11.4.3 入門術語 266
11.5 你已經了解的內容 266
11.5.1 開發人員的心得體會 267
11.5.2 即將完結 268
11.6 本章小結 269
附錄A 安裝Python271
A.1 我應該使用什麼版本的Python 271
A.2 “系統”Python 272
A.3 安裝其他版本的Python 272
A.3.1 下載官方Python272
A.3.2 使用Anaconda下載 274
A.4 驗證安裝 274

作者簡介

Dane Hillard是一位軟體工程師、Web開發人員和Python國際會議演講者,他感興趣的領域包括教育、生物技術和開源。Dane編寫專業的Python軟體已有10年。
Dane在密西根大學獲得計算機工程學士學位,輔修數學。作為一名軟體工程師,Dane曾在SAIC(現為Leidos)從事情報研究和開發工作,在Compendia Bioscience(現已併入賽默飛世爾科技公司)從事個性化癌症基因組學研究。Dane目前為ITHAKA的首席Web應用程式開發人員,他主要專注於Python、Django的Web開發,以及用於學術研究的前端技術。

相關詞條

熱門詞條

聯絡我們