書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊

Python代碼整潔之道

出版社:清華大學(xué)出版社出版時間:2021-09-01
開本: 16開 頁數(shù): 296
中 圖 價:¥63.8(8.0折) 定價  ¥79.8 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

Python代碼整潔之道 版權(quán)信息

Python代碼整潔之道 本書特色

專業(yè)質(zhì)量的代碼不僅運行時沒有錯誤,而且整潔、易讀、易維護(hù)。想從一個有能力的Python程序員成長為專業(yè)的開發(fā)人員,讀者需要學(xué)習(xí)編碼風(fēng)格、應(yīng)用程序設(shè)計和開發(fā)流程的行業(yè)標(biāo)準(zhǔn)。這正是本書的特色與要講解的內(nèi)容。 本書教會讀者設(shè)計和編寫可理解、可維護(hù)和可擴(kuò)展的專業(yè)軟件。作者Dane Hillard是一位Python專業(yè)人士,幫助過許多開發(fā)人員完成Python項目的設(shè)計和編寫,他知道在此過程中需要做些什么。他通過有用的示例和練習(xí),讓讀者明白在什么時機(jī),如何將代碼模塊化,如何通過降低復(fù)雜度來提高代碼質(zhì)量,以及為什么這樣做等。遵循這些核心原則,所編寫的代碼將更易于自己和他人閱讀、維護(hù)和重用。

Python代碼整潔之道 內(nèi)容簡介

主要內(nèi)容 組織大型Python項目 實現(xiàn)合適的抽象級別 編寫整潔并可重用的代碼 繼承和組合 測試和性能的注意事項

Python代碼整潔之道 目錄

第Ⅰ部分 為什么學(xué)習(xí)Python


第1 章 Python 總覽 3


1.1 Python 是一種企業(yè)語言 5


1.1.1 時代在改變 5


1.1.2 我喜歡Python 的原因 5


1.2 Python 是一種教學(xué)語言 6


1.3 設(shè)計是一個過程 6


1.3.1 用戶體驗 8


1.3.2 你以前接觸過的情況 9


1.4 設(shè)計更好的軟件 10


1.4.1 軟件設(shè)計注意事項 10


1.4.2 “有機(jī)”增長的軟件 11


1.5 何時投資設(shè)計 13


1.6 新的開始 14


1.7 設(shè)計是平等的 15


1.8 如何使用本書 18


1.9 本章小結(jié) 19


第Ⅱ部分 設(shè)計基礎(chǔ)


第2 章 關(guān)注點分離 23


2.1 命名空間 24


2.1.1 命名空間和導(dǎo)入語句 25


2.1.2 導(dǎo)入的多重面紗 27


2.1.3 命名空間可避免沖突 29


2.2 Python 中的分離層級 31


2.2.1 函數(shù) 31


2.2.2 類 39


2.2.3 模塊 46


2.2.4 包 47


2.3 本章小結(jié) 49


第3 章 抽象和封裝 51


3.1 什么是抽象 51


3.1.1 “黑匣子” 52


3.1.2 抽象就像洋蔥 53


3.1.3 抽象即簡化 56


3.1.4 分解實現(xiàn)抽象 57


3.2 封裝 58


3.2.1 Python 中的封裝構(gòu)造 58


3.2.2 Python 中的私有變量 60


3.3 試一試 60


3.4 編程風(fēng)格也是一種抽象 64


3.4.1 過程式編程 64


3.4.2 函數(shù)式編程 64


3.4.3 聲明式編程 66


3.5 類型、繼承和多態(tài)性 68


3.6 了解錯誤的抽象 70


3.6.1 方枘圓鑿 71


3.6.2 智者更智 71


3.7 本章小結(jié) 72


第4 章 設(shè)計高性能的代碼 73


4.1 穿越時空 74


4.1.1 復(fù)雜度有點復(fù)雜 74


4.1.2 時間復(fù)雜度 75


4.1.3 空間復(fù)雜度 79


4.2 性能與數(shù)據(jù)類型 81


4.2.1 常量時間的數(shù)據(jù)類型 81


4.2.2 線性時間的數(shù)據(jù)類型 82


4.2.3 在數(shù)據(jù)類型上操作的空間復(fù)雜度 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 本章小結(jié) 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 進(jìn)行單元測試 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測試轉(zhuǎn)換為pytest 123


5.6 超越功能測試 124


5.6.1 性能測試 124


5.6.2 負(fù)載測試 125


5.7 測試驅(qū)動開發(fā):入門 126


5.7.1 測試驅(qū)動開發(fā)是一種心態(tài) 126


5.7.2 測試驅(qū)動開發(fā)是一種哲學(xué) 126


5.8 本章小結(jié) 127


第Ⅲ部分 明確大型系統(tǒng)


第6 章 實踐中的關(guān)注點分離 131


6.1 命令行書簽應(yīng)用程序 132


6.2 踏上Bark 之旅 133


6.3 初始代碼結(jié)構(gòu) 134


6.3.1 持久層 136


6.3.2 業(yè)務(wù)邏輯層 148


6.3.3 表示層 153


6.4 本章小結(jié) 162


第7 章 可擴(kuò)展性和靈活性 163


7.1 什么是可擴(kuò)展的代碼 163


7.1.1 添加新行為 164


7.1.2 修改現(xiàn)有行為 167


7.1.3 松耦合 168


7.2 解決僵化性 170


7.2.1 放手:控制反轉(zhuǎn) 171


7.2.2 細(xì)節(jié)決定成。阂蕾嚱涌 175


7.2.3 抵抗熵:穩(wěn)健性原則 176


7.3 擴(kuò)展練習(xí) 177


7.4 本章小結(jié) 182


第8 章 有關(guān)繼承的規(guī)則(及例外) 183


8.1 過去編程中的繼承 183


8.1.1 銀彈 184


8.1.2 繼承的挑戰(zhàn) 184


8.2 當(dāng)前編程中的繼承 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 重構(gòu)以使用抽象基類 201


8.4.2 對繼承工作進(jìn)行*后的檢查 203


8.5 本章小結(jié) 204


第9 章 保持輕量級 205


9.1 類/函數(shù)/模塊應(yīng)該有多大 206


9.1.1 物理度量 206


9.1.2 單一職責(zé) 207


9.1.3 代碼的復(fù)雜度 207


9.2 分解復(fù)雜度 212


9.2.1 提取配置 212


9.2.2 提取函數(shù) 215


9.3 分解類 218


9.3.1 復(fù)雜度初始化 218


9.3.2 提取類和轉(zhuǎn)發(fā)調(diào)用 221


9.4 本章小結(jié) 226


第10 章 實現(xiàn)松耦合 227


10.1 定義耦合 227


10.1.1 結(jié)締組織 228


10.1.2 緊耦合 229


10.1.3 松耦合 232


10.2 識別耦合 235


10.2.1 依戀情結(jié) 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 本章小結(jié) 250


第Ⅳ部分 下一步學(xué)習(xí)什么


第11 章 全力以赴 253


11.1 現(xiàn)在怎么辦 253


11.1.1 制訂計劃 254


11.1.2 執(zhí)行計劃 256


11.1.3 跟蹤進(jìn)度 257


11.2 設(shè)計模式 259


11.2.1 Python 設(shè)計模式的起伏 261


11.2.2 需要了解的術(shù)語 261


11.3 分布式系統(tǒng) 262


11.3.1 分布式系統(tǒng)中的故障模式 263


11.3.2 尋址應(yīng)用程序狀態(tài) 263


11.3.3 入門術(shù)語 264


11.4 進(jìn)行Python深潛 264


11.4.1 Python 代碼樣式 264


11.4.2 語言特征是模式 265


11.4.3 入門術(shù)語 266


11.5 你已經(jīng)了解的內(nèi)容 266


11.5.1 開發(fā)人員的心得體會 267


11.5.2 即將完結(jié) 268


11.6 本章小結(jié) 269


附錄A 安裝Python 271


A.1 我應(yīng)該使用什么版本的Python 271


A.2 “系統(tǒng)”Python 272


A.3 安裝其他版本的Python 272


A.3.1 下載官方Python 272


A.3.2 使用Anaconda下載 274


A.4 驗證安裝 274


展開全部

Python代碼整潔之道 作者簡介

Dane Hillard是一位軟件工程師、Web開發(fā)人員和Python國際會議演講者,他感興趣的領(lǐng)域包括教育、生物技術(shù)和開源。Dane編寫專業(yè)的Python軟件已有10年。 Dane在密歇根大學(xué)獲得計算機(jī)工程學(xué)士學(xué)位,輔修數(shù)學(xué)。作為一名軟件工程師,Dane曾在SAIC(現(xiàn)為Leidos)從事情報研究和開發(fā)工作,在Compendia Bioscience(現(xiàn)已并入賽默飛世爾科技公司)從事個性化癌癥基因組學(xué)研究。Dane目前為ITHAKA的首席Web應(yīng)用程序開發(fā)人員,他主要專注于Python、Django的Web開發(fā),以及用于學(xué)術(shù)研究的前端技術(shù)。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服