注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計健壯的Python

健壯的Python

健壯的Python

定 價:¥139.00

作 者: [美]帕特里克·維亞福爾
出版社: 機(jī)械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111721444 出版時間: 2023-03-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  你的Python項目是否正在變得越來越龐大?隨著代碼的擴(kuò)展,調(diào)試和維護(hù)工作變得更加艱難,你是否感到痛苦?Python是一種容易學(xué)習(xí)和使用的語言,但這也意味著系統(tǒng)可以迅速發(fā)展到無法理解的程度。值得慶幸的是,Python具有幫助開發(fā)者克服可維護(hù)性困境的功能。在這本實用的書中,作者Patrick Viafore將告訴你如何限度地使用 Python的類型系統(tǒng)。你將看到用戶定義的類型(如類和枚舉),以及Python的類型提示系統(tǒng)。你還將學(xué)習(xí)如何使Python代碼具有可擴(kuò)展性,以及如何基于一個全面的測試策略構(gòu)建安全網(wǎng)。利用這些知識和技術(shù),你將編寫更清晰、更易于維護(hù)的代碼。通過學(xué)習(xí)本書,你將:*了解為什么類型在現(xiàn)代開發(fā)生態(tài)系統(tǒng)中是必不可少的。*了解類、字典和枚舉等類型選擇是如何反映特定意圖的。*在不加劇臃腫的情況下使Python代碼在未來可擴(kuò)展。*使用流行的Python工具來提高代碼庫的安全性和健壯性。*評估當(dāng)前的代碼以檢測常見的可維護(hù)性問題。*通過linter和測試構(gòu)建代碼庫的安全網(wǎng)。

作者簡介

  Patrick Viafore在關(guān)鍵任務(wù)軟件領(lǐng)域有超過14年的工作經(jīng)驗,專業(yè)方向涉及雷電檢測、電信和操作系統(tǒng)。他通過開發(fā)管道和工具,將Ubuntu鏡像部署到公有云供應(yīng)商,并通過Kudzera有限責(zé)任公司進(jìn)行軟件咨詢和項目承包(他是這家公司的負(fù)責(zé)人)。他的目標(biāo)是使計算機(jī)科學(xué)以及軟件工程主題對開發(fā)者社區(qū)來說更加容易理解。

圖書目錄

譯者序
編寫好代碼
“如何編寫一段好代碼?”我經(jīng)常被問到這樣的問題。寫了這么多年代碼,我心中仍然沒有一個標(biāo)準(zhǔn)答案。但是,我清楚地知道,什么樣的代碼是被人詬病的“爛代碼”:只能自己看懂甚至過段時間自己都看不懂的命名,牽一發(fā)而毀全身的神秘邏輯,讀起來就像行走于盜夢空間一樣的各種嵌套,等等。它們的產(chǎn)生一般都有一個共同原因:習(xí)慣著眼于現(xiàn)在而非未來。實現(xiàn)眼前的功能是大部分開發(fā)工作的要務(wù),但是面向未來的思考往往能成就好的代碼。
在職業(yè)生涯中,我接觸過不少編程語言,回顧這些經(jīng)歷和經(jīng)驗,我發(fā)現(xiàn)語言或者工具并不是影響項目成功的關(guān)鍵,關(guān)鍵更在于開發(fā)者的意識。
意識,包含編碼習(xí)慣、設(shè)計風(fēng)格、基于未來的思考等,這些都深刻影響著一段代碼的命運(yùn)。這段代碼可能平淡無奇,可能被人贊嘆,也可能遭人唾棄。但是沒錯,它的優(yōu)劣完全由創(chuàng)造者來掌握。本書雖然基于Python,卻道出了很多編碼過程中值得學(xué)習(xí)和應(yīng)用的實踐。換句話說,它不是在教我們?nèi)绾斡肞ython完成一個功能,而是在分享做好一個復(fù)雜項目的經(jīng)驗。
Python的進(jìn)退
“人生苦短,我用Python”這句活躍在各大Python社區(qū)的名言,道出了Python語言的地位。作為一門動態(tài)解釋性語言,Python簡潔、優(yōu)雅、容易上手,一直是眾多編程愛好者喜愛的編程語言之一。但是往往也是因為這些“優(yōu)點”,很多開發(fā)者都容易在Python的大型項目中“放飛自我”,如果我們僅僅關(guān)注利用Python提供的方便工具或者豐富的庫來快速實現(xiàn)功能,不注重代碼本身的質(zhì)量和可維護(hù)性,那么隨著時間的推移,這些本來寫起來順風(fēng)順?biāo)拇a在將來會變成一堆別人不想觸碰的“垃圾山”。這也是業(yè)界對Python詬病多的地方,因為它和其他同為強(qiáng)類型的語言(比如Java、C#)相比,缺乏了太多限制,這就讓它顯得更加脆弱,編寫小型的工具或者庫時可能表現(xiàn)不明顯,可一旦用于大型的工程項目,很多人都會望而卻步。這也是我們很難看到Python大規(guī)模應(yīng)用到國內(nèi)很多企業(yè)和大型項目中的原因。
然而,這并不意味著Python不夠強(qiáng)大,換句話說,Python作為靈活的強(qiáng)類型語言也可以長久健壯地應(yīng)用在大型復(fù)雜項目中。本書基于Python 3論證了這一觀點,并通過代碼實踐從各個角度來告訴大家如何編寫面向未來的Python代碼,以及如何優(yōu)雅、合理地實現(xiàn)代碼的健壯性。
關(guān)于本書內(nèi)容
本次非常有幸與三位同事周偉、凌銳、凌云一起翻譯本書。本書通過四個部分分享了如何編寫健壯Python代碼:
部分“為代碼添加類型注解”。介紹類型檢查如何在保證健壯性的工作中扮演重要角色。
第二部分“定義你自己的類型”。用面向?qū)ο蟮乃季S增加代碼的健壯性。
第三部分“可擴(kuò)展的Python”。借助一些設(shè)計思想和常見架構(gòu),進(jìn)一步提升代碼質(zhì)量。
第四部分“構(gòu)建安全網(wǎng)”。用靜態(tài)檢查和測試完善整個代碼的安全網(wǎng)。
讀者得以從四個不同的角度了解各種Python技巧,并借助其中的例子加強(qiáng)“編寫良好代碼”(不只是Python)的意識。
作為一名接觸Python語言、OOP以及敏捷技術(shù)實踐多年的架構(gòu)師及開發(fā)者,我個人也從中學(xué)到了很多Python的技巧。希望閱讀此書的讀者都能有所收獲,并能夠?qū)⑵渲幸恍┳龇ɑ蛘咚枷霊?yīng)用到自己的職業(yè)生涯或者編碼工作中。
共勉與致謝
“時人不識凌云木, 直待凌云始道高。”這些保證/增強(qiáng)代碼健壯性的做法往往在一開始并不會彰顯它的魅力,但只要你堅持做正確的事情,它的作用和影響便一定會在日后慢慢凸顯。
“不積跬步,無以至千里。”希望大家不僅在編程過程中能夠保持追求完美、持續(xù)改進(jìn)的習(xí)慣,而且在自己的學(xué)習(xí)生活過程中同樣能夠如此。從日常中積累,從細(xì)微處成長,早日實現(xiàn)自己工作和生活中的每一個目標(biāo)。與君共勉!
感謝家人、朋友對我繁忙工作之余翻譯本書的無條件支持,他們的陪伴和鼓勵一直是我前行的動力。同時特別感謝劉小雪、張婕、金余等朋友在本書翻譯過程中給予的支持與幫助。
后再次感謝各位的閱讀。翻譯過程難免有錯漏,歡迎大家多提寶貴意見,以助本書譯本的后期改善。
姚文杰
凱捷咨詢數(shù)字化團(tuán)隊架構(gòu)師
市場上介紹Python編程的書籍很多,許多開發(fā)人員只接觸了Python語言的表面,而沒有深入學(xué)習(xí)Python編程的所有工具和技巧。通過閱讀本書,你將學(xué)會如何更好地使用Python,你將接觸許多使得Python整潔并可維護(hù)的方法。這樣,未來的維護(hù)者也將會喜愛并使用你寫出的每段代碼,因為它是預(yù)先“精心設(shè)計”的。本書不只是編程的參考書,更是便于與公司和組織內(nèi)的開發(fā)人員一起探討如何好地應(yīng)用這些編程原則的指南。
本書的翻譯工作歷時9個多月,其間因為承接了規(guī)模龐大而復(fù)雜的項目以及在客戶現(xiàn)場工作等,導(dǎo)致翻譯工作進(jìn)展緩慢,感謝幾位伙伴的理解和支持。此外,我的兒子也在學(xué)習(xí)Python的課程,我也希望借翻譯此書的過程加深對Python的理解并能和兒子共同學(xué)習(xí)。感謝我的妻子對翻譯工作的支持,也很高興能把此書作為一周歲的生日禮物送給我的女兒。
后,祝讀者享受Python的編程實踐之旅!
周偉
凱捷咨詢數(shù)字化團(tuán)隊資深項目經(jīng)理
我們都知道Python是一門語法簡單、設(shè)計優(yōu)雅的語言,“低門檻”和“易用”這兩個特點造就了它活躍的生態(tài),進(jìn)而使它擁有了大量庫和語法糖,并成為編程零基礎(chǔ)選手快速入門的不二之選。
但與此同時,作為Python語言的使用者和軟件交付咨詢師,我深知我們不能因為手里有把好的砍柴刀就對危機(jī)四伏的軟件世界掉以輕心甚至洋洋得意。軟件工程所要應(yīng)對的根本問題并不會憑空消失,很慶幸有Patrick Viafore這樣務(wù)實的技術(shù)作者能深入淺出地給軟件從業(yè)者分享寫出好代碼的原則、方法與工具,因此本書也同樣適用于使用其他編程語言的讀者。
非常感謝能有機(jī)會閱讀并翻譯這本好書,書中關(guān)于類型和測試的解讀讓我格外印象深刻,這些思考一定會對我的職業(yè)生涯產(chǎn)生深遠(yuǎn)的影響。希望讀完本書的你和我一樣,能在今后的工作中更暢快地感嘆:“人生苦短,我用Python。”開卷有益,謝謝閱讀。
梁凌銳
凱捷咨詢數(shù)字化團(tuán)隊敏捷咨詢顧問
Python是一門簡單易學(xué)并且功能非常強(qiáng)大的編程語言,所以即使你是編程新手,也可以通過自學(xué)很快上手。但是隨著軟件系統(tǒng)變得越來越復(fù)雜,僅僅接觸Python的表面是遠(yuǎn)遠(yuǎn)不夠的,否則軟件系統(tǒng)會因為膨脹而變得脆弱。因此,深入學(xué)習(xí)編寫健壯的Python代碼所需的所有工具和技巧是非常重要的。本書適用于有一定Python編程經(jīng)驗的讀者,涵蓋許多高級Python特性,但目的不僅僅是讓讀者會使用這些特性,而是基于這些特性去討論你的選擇會對代碼的可維護(hù)性產(chǎn)生哪些影響。
非常榮幸能夠有機(jī)會翻譯這本書,讀萬卷書,行萬里路,希望大家的編程之旅更加精彩。
楊凌云
凱捷咨詢北方測試團(tuán)隊負(fù)責(zé)人

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號