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

健壯的Python

健壯的Python

定 價(jià):¥139.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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