
0人評分過此書
簡潔的Python:重構你的舊程式
現在有許多領域都廣泛使用Python,例如軟體建構、系統管理與資料處理。在這些領域中,經驗老到的專家可以找到效率低下、有問題的案例,以及導致不良程式的隱患。看完這本書的讀者將會瞭解這些問題,更重要的是知道如何修正它們。
本書首先介紹編寫簡潔程式的基本元素,以及它在Python程式設計中有多麼重要。你將瞭解如何運用Python標準程式庫與軟體設計最佳做法來編寫高效且易讀的程式。你也會學到如何在Python中實現SOLID原則,以及使用裝飾器來改善程式。本書將更深入地探討Python的物件導向程式設計,告訴你如何透過描述器與產生器來使用物件。本書也會展示軟體測試程式的設計原則,以及如何在程式中實作設計模式來解決軟體問題。在最後一章,我們會從堅實平台的基礎程式開始談起,將單體應用程式拆成微服務。
讀完本書之後,你將能夠熟練地運用業界認可的編寫技術來設計簡潔、易維護、易讀的Python程式。
你會學到;
‧設定工具,在開發環境中高效率地工作
‧Python的魔術方法如何協助我們編寫更好的程式
‧利用Python的特性來建立更高級的物件導向設計
‧使用裝飾器與描述器來移除重複的程式
‧藉助單元測試來有效地重構程式碼
‧在Python中實現SOLID原則
本書首先介紹編寫簡潔程式的基本元素,以及它在Python程式設計中有多麼重要。你將瞭解如何運用Python標準程式庫與軟體設計最佳做法來編寫高效且易讀的程式。你也會學到如何在Python中實現SOLID原則,以及使用裝飾器來改善程式。本書將更深入地探討Python的物件導向程式設計,告訴你如何透過描述器與產生器來使用物件。本書也會展示軟體測試程式的設計原則,以及如何在程式中實作設計模式來解決軟體問題。在最後一章,我們會從堅實平台的基礎程式開始談起,將單體應用程式拆成微服務。
讀完本書之後,你將能夠熟練地運用業界認可的編寫技術來設計簡潔、易維護、易讀的Python程式。
你會學到;
‧設定工具,在開發環境中高效率地工作
‧Python的魔術方法如何協助我們編寫更好的程式
‧利用Python的特性來建立更高級的物件導向設計
‧使用裝飾器與描述器來移除重複的程式
‧藉助單元測試來有效地重構程式碼
‧在Python中實現SOLID原則
- 前言
-
第1章 簡介、程式碼格式與工具
-
簡潔程式碼的意義
-
簡潔程式碼的重要性
-
格式化在簡潔程式碼之中的角色
-
遵守專案的編寫風格指南
-
-
docstring 與註釋
-
docstring
-
註釋
-
註釋可取代docstring 嗎?
-
設置強制執行基本品管的工具
-
-
結論
-
-
第2章 符合Python 風格的程式
-
索引與切片
-
建立你自己的序列
-
-
環境管理器
-
實作環境管理器
-
-
特性、屬性,以及物件方法的各種型態
-
Python 的底線
-
特性
-
-
可迭代物件
-
建立可迭代物件
-
建立序列
-
-
容器物件
-
物件動態屬性
-
可呼叫物件
-
魔術方法摘要
-
Python 的注意事項
-
可改變的預設引數
-
擴展內建型態
-
-
結論
-
參考文獻
-
-
第3章 好程式的特徵
-
依合約設計(Design by contract)
-
先決條件
-
後置條件
-
符合Python 習慣的合約
-
依合約設計—結論
-
-
防禦性程式設計
-
錯誤處理
-
在Python 中使用斷言
-
-
分離關注點
-
內聚性與耦合
-
-
讓你活得更輕鬆的縮寫詞
-
DRY/OAOO
-
YAGNI
-
KIS
-
EAFP/LBYL
-
-
組合與繼承
-
當繼承是好的決定時
-
繼承的反模式
-
Python 的多重繼承
-
-
函式與方法的引數
-
Python 的函式引數如何工作?
-
函式的引數數量
-
-
關於優良軟體設計的最後提示
-
軟體的正交性
-
構建程式碼
-
-
結論
-
參考文獻
-
-
第4章 SOLID 原則
-
單一功能原則
-
有太多功能的類別
-
分配功能
-
-
開閉原則
-
不遵守開閉原則的維護性風險案例
-
重構事件系統來提升擴展性
-
擴展事件系統
-
關於OCP 的最終說明
-
-
里氏替換原則
-
用工具來檢測LSP 問題
-
較細微的LSP 違反案例
-
LSP 摘要
-
-
介面隔離
-
提供過多功能的介面
-
介面越小越好
-
介面應該多小?
-
-
依賴反轉
-
剛性依賴的案例
-
將依賴關係反過來
-
-
結論
-
參考文獻
-
-
第5章 使用裝飾器來改善程式
-
Python 的裝飾器是什麼?
-
裝飾函式
-
裝飾類別
-
其他類型的裝飾器
-
傳遞引數給裝飾器
-
裝飾器的正確用法
-
-
有效的裝飾器—避免常見錯誤
-
保留被包裝的原始物件的資料
-
在裝飾器裡面處理副作用
-
建立必定有效的裝飾器
-
-
用裝飾器來遵守DRY 原則
-
裝飾器與分離關注點
-
分析優良的裝飾器
-
結論
-
參考文獻
-
-
第6章 藉由描述器來充分使用物件
-
初會描述器
-
描述器背後的機制
-
描述器協定的各種方法
-
-
描述器的類型
-
非資料描述器
-
資料描述器
-
-
描述器的實際動作
-
描述器的應用
-
各種描述器的實作形式
-
關於描述器的其他注意事項
-
-
分析描述器
-
Python 內部如何使用描述器?
-
在裝飾器中實作描述器
-
-
結論
-
參考文獻
-
-
第7章 使用產生器
-
技術需求
-
建立產生器
-
初探產生器
-
產生器運算式
-
-
典型的迭代法
-
典型的迭代寫法
-
Python 的迭代器模式
-
-
協同程序
-
產生器介面的方法
-
更高級的協同程序
-
-
非同步程式設計
-
結論
-
參考文獻
-
-
第8章 單元測試與重構
-
設計原理與單元測試
-
關於其他形式的自動測試
-
單元測試與敏捷軟體開發
-
單元測試與軟體設計
-
定義測試目標的邊界
-
-
測試框架與工具
-
單元測試的框架與程式庫
-
代碼覆蓋率
-
模擬物件
-
-
重構
-
演進你的程式碼
-
不是只有成品程式需要演化
-
-
關於單元測試的其他想法
-
特性測試
-
突變測試
-
-
測試驅動開發簡介
-
結論
-
參考文獻
-
-
第9章 常見的設計模式
-
在Python 中採用設計模式的注意事項
-
設計模式實例
-
創造型模式
-
結構型模式
-
行為型模式
-
-
空物件模式
-
關於設計模式的最終說明
-
模式對設計造成的影響
-
模型的命名
-
-
結論
-
參考文獻
-
-
第10章 簡潔的結構
-
從簡潔的程式碼到簡潔的結構
-
分離關注點
-
抽象
-
-
軟體元件
-
套件
-
容器
-
-
使用案例
-
程式碼
-
服務
-
分析
-
-
結論
-
參考文獻
-
總結
-
- 索引
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分