- 編寫整潔的Python代碼(第2版)
- (西)馬里亞諾·阿那亞(Mariano Anaya)
- 1047字
- 2022-10-26 16:58:49
涵蓋的內(nèi)容
第 1 章簡(jiǎn)要介紹搭建 Python 開(kāi)發(fā)環(huán)境所需的主要工具,涵蓋為卓有成效地使用Python必須具備的基礎(chǔ)知識(shí),提供一些確保項(xiàng)目代碼易于閱讀的指導(dǎo)原則,如用于靜態(tài)分析、文檔編寫、類型檢查和格式設(shè)置的工具。對(duì)編碼標(biāo)準(zhǔn)有統(tǒng)一的認(rèn)識(shí)是件好事,但從業(yè)人員往往心有余而力不足。有鑒于此,本章最后討論了可助你更有成效地完成工作的工具。
第2章介紹后續(xù)章節(jié)將用到的一些重要Python習(xí)慣用法,探討Python獨(dú)有的特性及用法,并著手樹(shù)立如下觀念:符合Python語(yǔ)言習(xí)慣的代碼通常質(zhì)量高得多。
第3章探討那些旨在讓代碼更容易維護(hù)的通用軟件工程原則。在第2章的基礎(chǔ)上,我們將介紹一般性整潔設(shè)計(jì)理念及如何在Python中實(shí)現(xiàn)它們。
第4章介紹一系列面向?qū)ο筌浖O(shè)計(jì)的原則。縮略語(yǔ)SOLID是軟件工程領(lǐng)域的行業(yè)術(shù)語(yǔ),指的是一系列面向?qū)ο筌浖O(shè)計(jì)的原則。通過(guò)閱讀本章,你將知道這些原則也適用于Python。尤其重要的是,你將學(xué)習(xí)依賴注入如何讓代碼更易于維護(hù),在后續(xù)章節(jié)中,這個(gè)概念很有用。
第5章介紹最出色的Python特性之一——裝飾器。我們先介紹如何創(chuàng)建(用于函數(shù)和類的)裝飾器,再將裝飾器付諸應(yīng)用——使用它們來(lái)重用代碼、分離職責(zé)及創(chuàng)建粒度更細(xì)的函數(shù)。本章另一個(gè)有趣的知識(shí)點(diǎn)是,如何利用裝飾器來(lái)簡(jiǎn)化復(fù)雜和重復(fù)的函數(shù)簽名。
第6章探討讓面向?qū)ο笤O(shè)計(jì)更上一層樓的Python描述符。描述符主要與框架和工具相關(guān),但也可用來(lái)提高代碼的可讀性和可重用性。通過(guò)閱讀本章,讀者將對(duì)Python有更深入的認(rèn)識(shí)。
第7章首先說(shuō)明生成器是一個(gè)極其出色的Python特性。迭代是Python的核心組成部分,這可能讓你認(rèn)為它開(kāi)辟了一條通往新編程模型的道路。通過(guò)使用生成器和迭代器,可以用不同的思路編寫程序。學(xué)習(xí)有關(guān)生成器的知識(shí)后,你將學(xué)習(xí)Python協(xié)程以及異步編程基礎(chǔ)知識(shí)。最后,本章闡述了用于異步編程和異步迭代的新語(yǔ)法(和新的魔法方法)。
第8章討論單元測(cè)試在確保代碼庫(kù)易于維護(hù)方面的重要性。我們將討論在代碼庫(kù)演進(jìn)和維護(hù)過(guò)程中不可或缺的重構(gòu),還有對(duì)重構(gòu)來(lái)說(shuō)至關(guān)重要的單元測(cè)試。所有這一切,都離不開(kāi)合適工具(主要是模塊unittest和pytest)的支持。最后,你將了解到,優(yōu)良測(cè)試的秘訣不在于測(cè)試本身,而在于代碼是可測(cè)試的。
第9章探討如何在Python中實(shí)現(xiàn)常見(jiàn)的設(shè)計(jì)模式,但不從解決問(wèn)題的角度出發(fā),而是如何使用設(shè)計(jì)模式來(lái)給出更佳、更易于維護(hù)的問(wèn)題解決方案。本章介紹了讓有些設(shè)計(jì)模式不可見(jiàn)的Python獨(dú)特之處,并從實(shí)用主義的角度出發(fā)實(shí)現(xiàn)了一些模式。最后,本章討論了Python特有的設(shè)計(jì)模式。
第10章聚焦于“整潔代碼是良好架構(gòu)的基石”這一理念。在系統(tǒng)部署期間,第1章提及的所有細(xì)節(jié)以及后續(xù)章節(jié)探討的所有內(nèi)容都將發(fā)揮至關(guān)重要的作用。
- Java語(yǔ)言程序設(shè)計(jì)
- 從零構(gòu)建知識(shí)圖譜:技術(shù)、方法與案例
- Docker and Kubernetes for Java Developers
- Android NDK Beginner’s Guide
- Object-Oriented JavaScript(Second Edition)
- Python高效開(kāi)發(fā)實(shí)戰(zhàn):Django、Tornado、Flask、Twisted(第2版)
- Unity Shader入門精要
- PhpStorm Cookbook
- 單片機(jī)應(yīng)用與調(diào)試項(xiàng)目教程(C語(yǔ)言版)
- Instant Nancy Web Development
- Windows Phone 7.5:Building Location-aware Applications
- Learning Apache Karaf
- iOS自動(dòng)化測(cè)試實(shí)戰(zhàn):基于Appium、Python與Pytest
- Kubernetes進(jìn)階實(shí)戰(zhàn)
- FFmpeg開(kāi)發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到短視頻上線