最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

豆瓣9.1分,這本書(shū)會(huì)大大提升很多開(kāi)發(fā)者的Python編程能力

2023-02-27 18:16 作者:圖靈社區(qū)  | 我要投稿

各位朋友,不知道你寫(xiě) Python 代碼幾年了,有沒(méi)有安安靜靜、認(rèn)認(rèn)真真地審視過(guò)自己寫(xiě)的代碼?俗話說(shuō),寫(xiě)代碼簡(jiǎn)單,寫(xiě)好代碼難。即使是你進(jìn)入大公司,參與了大項(xiàng)目,當(dāng)你打開(kāi) IDE,你的感覺(jué)可能都會(huì)是——數(shù)百行的函數(shù)和神秘的數(shù)字字面量比比皆是,開(kāi)發(fā)任何一個(gè)小需求都難如登天。不管入行幾年,能寫(xiě)得一手規(guī)范、整潔、可重構(gòu)性好的代碼,都是最值得程序員驕傲的事情。那么——

好代碼有哪些要素?

話說(shuō)回來(lái),到底怎樣的代碼才算是好代碼?在這方面,Martin Fowler 有一句話常被大家引用:

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”

“任何傻瓜都能寫(xiě)出計(jì)算機(jī)能理解的代碼。優(yōu)秀程序員寫(xiě)人類(lèi)能理解的代碼?!?/p>

我認(rèn)為它可以作為評(píng)價(jià)好代碼的原點(diǎn):好代碼一定是可讀、易讀,且容易理解的。寫(xiě)出好代碼的第一原則,就是把人類(lèi)讀者放在第一位。

除了可讀性以外,評(píng)價(jià)代碼好壞還有許多其他維度:

?貼合編程語(yǔ)言:是否使用了當(dāng)前編程語(yǔ)言的推薦寫(xiě)法?語(yǔ)言特性和語(yǔ)法糖,使用程度是否恰到好處??易于修改:代碼設(shè)計(jì)是否考慮了未來(lái)的需求變更,當(dāng)變化發(fā)生時(shí),代碼是否容易隨之修改??API 設(shè)計(jì)合理:API 設(shè)計(jì)是否合理,易于使用?好的 API 在簡(jiǎn)單場(chǎng)景下使用方便,在高級(jí)場(chǎng)景下又可以隨需求擴(kuò)展。?性能夠用:代碼性能是否滿(mǎn)足當(dāng)前業(yè)務(wù)需求,同時(shí)為未來(lái)保留了一定提升空間??避免過(guò)度設(shè)計(jì):代碼是否存在過(guò)度設(shè)計(jì)、過(guò)早優(yōu)化的毛????…

總而言之,對(duì)于任何層級(jí)的程序員來(lái)說(shuō),好代碼都不是什么唾手可得的東西。要寫(xiě)出好代碼,需要在許多維度上反復(fù)權(quán)衡、精心設(shè)計(jì),最后再加以持續(xù)打磨。

——那么有沒(méi)有一本書(shū),是專(zhuān)門(mén)系統(tǒng)講解怎么寫(xiě)好 Python 工程代碼的呢?今天為大家介紹的這本《Python工匠:案例、技巧與工程實(shí)踐》就是國(guó)內(nèi)罕見(jiàn)的優(yōu)秀的原創(chuàng)作品,豆瓣讀者給出了 9.1 分的好評(píng)。

這本書(shū)基于GitHub 開(kāi)源系列文章,是騰訊大佬朱雷從 2016 年開(kāi)始創(chuàng)作的“Python工匠”系列,其 GitHub Star 數(shù)已經(jīng)超過(guò) 5K,被“騰訊技術(shù)工程”等多家媒體全系列轉(zhuǎn)載,收獲諸多好評(píng)。

雖說(shuō)內(nèi)容基于“Python工匠”系列文章,但最終成書(shū)的內(nèi)容遠(yuǎn)遠(yuǎn)多于開(kāi)源系列文章,擴(kuò)充篇幅達(dá)原先內(nèi)容的兩倍,成書(shū) 400 頁(yè),可以用|五大部分|三大板塊|13章內(nèi)容|來(lái)概括。

下面先上一下思維導(dǎo)圖,后面詳細(xì)講講五大部分和三大板塊。

五大部分

全書(shū)共計(jì) 13 章,按內(nèi)容特色可歸入五大部分。

第一部分? 變量與基礎(chǔ)類(lèi)型??由第1章、第2章和第3章組成。在學(xué)習(xí)一門(mén)編程語(yǔ)言的過(guò)程中“如何操作變量”和“如何使用基礎(chǔ)類(lèi)型”是兩個(gè)非常重要的知識(shí)點(diǎn)。通過(guò)學(xué)習(xí)這部分內(nèi)容,你會(huì)習(xí)得如何善用變量來(lái)改善代碼質(zhì)量,掌握數(shù)值、字符串及內(nèi)置容器類(lèi)型的使用技巧,避開(kāi)常見(jiàn)誤區(qū)。

第二部分? 語(yǔ)法結(jié)構(gòu)? 由第4章、第5章和第6章組成。條件分支、異常處理和循環(huán)語(yǔ)句是 Python 最常見(jiàn)的三種語(yǔ)法結(jié)構(gòu)。它們雖然基礎(chǔ),但很容易被誤用,從而變成爛代碼的幫兇。本部分內(nèi)容會(huì)帶你深入這三種語(yǔ)法結(jié)構(gòu),教你掌握如何用它們簡(jiǎn)潔而精準(zhǔn)地表達(dá)邏輯,寫(xiě)出高質(zhì)量的代碼。

第三部分 函數(shù)與裝飾器?由第 7 章和第 8 章組成。函數(shù)是 Python 語(yǔ)言最重要的組成要素之一。正是因?yàn)橛辛撕瘮?shù),我們才獲得了高效復(fù)用代碼的能力。而裝飾器則可簡(jiǎn)單視為基于函數(shù)的一種特殊對(duì)象——它始于函數(shù),但又不止于函數(shù)。這兩章介紹了許多與函數(shù)和裝飾器有關(guān)的“干貨”,掌握它們,可以讓你在寫(xiě)代碼時(shí)事半功倍。

第四部分 面向?qū)ο缶幊?/strong>?由第 9 章、第 10 章和第 11 章組成。眾所周知,Python 是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,因此“面向?qū)ο蠹夹g(shù)”自然是 Python 學(xué)習(xí)路上的重中之重。第 9 章圍繞 Python 語(yǔ)言的面向?qū)ο蠡A(chǔ)概念和高級(jí)技巧展開(kāi)。第 10 章和第 11 章則是為大家量身定制的面向?qū)ο笤O(shè)計(jì)進(jìn)階知識(shí)。

第五部分 總結(jié)與延伸??由第 12 章和第 13 章組成。這部分內(nèi)容可以看作對(duì)全書(shū)內(nèi)容的總結(jié)和延伸。第 12 章匯總本書(shū)出現(xiàn)過(guò)的所有與 “Python 對(duì)象模型”相關(guān)的知識(shí)點(diǎn),并闡述它們與編寫(xiě)優(yōu)雅代碼之間的重要關(guān)系。而最后的第 13 章則是一些與大型項(xiàng)目開(kāi)發(fā)相關(guān)的經(jīng)驗(yàn)之談。

三大板塊

除了第 11 章和第 13 章等少數(shù)幾個(gè)純案例章以外,其他章都包含基礎(chǔ)知識(shí)、案例故事、編程建議三個(gè)常駐板塊。

其中,基礎(chǔ)知識(shí)板塊涵蓋和該章主題有關(guān)的基礎(chǔ)知識(shí)點(diǎn)。舉例來(lái)說(shuō),在第 6 章的基礎(chǔ)知識(shí)板塊,你會(huì)學(xué)習(xí)有關(guān)迭代器與可迭代類(lèi)型的基礎(chǔ)知識(shí)。不過(guò),需要提醒各位的是,本書(shū)中的基礎(chǔ)知識(shí)講解并不追求全面,僅包含筆者基于個(gè)人經(jīng)驗(yàn)挑選并認(rèn)為比較關(guān)鍵的知識(shí)點(diǎn)。

假如說(shuō)本書(shū)的基礎(chǔ)知識(shí)板塊與其他同類(lèi)書(shū)的內(nèi)容大同小異,那么案例故事與編程建議則是將本書(shū)與其他 Python 編程類(lèi)圖書(shū)區(qū)分開(kāi)來(lái)的關(guān)鍵。

在每一個(gè)案例故事板塊,你會(huì)讀到一個(gè)或多個(gè)與該章主題相關(guān)的故事。比如,第 1 章講述了一位 Python 程序員去某公司參加面試的故事,讀完它,你會(huì)領(lǐng)會(huì)到“變量與注釋”究竟是如何影響了故事主人公的面試結(jié)果,最終深刻地理解兩者是如何塑造我們對(duì)代碼的第一印象的。

編程建議板塊主要包含一些與該章主題相關(guān)的建議。比如在第 4 章中,我一共介紹了 7 條與條件分支有關(guān)的建議。雖然內(nèi)容包羅萬(wàn)象,但書(shū)中的所有編程建議都是圍繞“如何寫(xiě)好代碼” 這件事展開(kāi)的。比如,我會(huì)建議你盡量消除分支里的重復(fù)代碼、避開(kāi) or 運(yùn)算符的陷阱,等等。

除了第 10 章與第 11 章同屬一個(gè)主題,有先后順序以外,本書(shū)的每一章都是獨(dú)立的。你可以隨意挑選自己感興趣的章節(jié)開(kāi)始閱讀。

專(zhuān)家閱讀推薦

本書(shū)是少有的進(jìn)階提升類(lèi)原創(chuàng)讀物,致力于幫助大家寫(xiě)出清晰易懂、層次分明的代碼,既保障了軟件質(zhì)量,又能為工程師積累良好的個(gè)人口碑。如同寫(xiě)得一手好文章,寫(xiě)得一手好代碼也會(huì)獲得同行的尊重。
——黨受輝,騰訊IEG技術(shù)運(yùn)營(yíng)部助理總經(jīng)理

在我20年的Python學(xué)習(xí)和使用生涯中,這是我心中頂好的Python參考書(shū)——書(shū)中清晰、細(xì)致地介紹了Python代碼應(yīng)該遵循的編程風(fēng)格,并解釋了背后的原理和機(jī)制。無(wú)論是初學(xué)者還是有經(jīng)驗(yàn)的同行,我都推薦你讀讀這本書(shū)。
——?jiǎng)Ⅵ危琍ython Tutorial譯者、Python中文社區(qū)早期成員

這是國(guó)內(nèi)真正關(guān)于“最佳實(shí)踐”的Python書(shū)——什么是Pythonic?看完此書(shū)就知道了。作者從工程實(shí)踐出發(fā),選取了大量切實(shí)的案例,幫你補(bǔ)齊學(xué)完入門(mén)教程之后的部分。強(qiáng)烈推薦。
——明希(@frostming),PyPA成員、PDM作者

本書(shū)描述了一些Python新手(甚至老手)會(huì)犯的錯(cuò)誤,小到變量取名,大到程序結(jié)構(gòu),由淺入深、面面俱到。這是一本不可多得的實(shí)用好書(shū),書(shū)中的很多技巧不僅適用于Python,使用其他編程語(yǔ)言的讀者也能受益良多。
——賴(lài)信濤(@laixintao),Shopee SRE

作者曾多次提及“編程在于表達(dá)真實(shí)世界中的邏輯”,而這也是我推薦本書(shū)的原因:你能從這本“授之以漁”的書(shū)中,學(xué)到超越Python編碼本身的思維模式,促使自己完成從“工具人”到“工匠”的躍遷。
——@fantix,活躍于GINO、asyncpg、uvloop、EdgeDB等開(kāi)源項(xiàng)目

本書(shū)深入講解了Python進(jìn)階知識(shí)的方方面面,并配以許多有趣的案例故事,使讀者能更輕松地理解個(gè)中原理,并更好地將其運(yùn)用于日常工作。如果你是一位想寫(xiě)出“漂亮”代碼的Python開(kāi)發(fā)者,我向你強(qiáng)烈推薦本書(shū)。
——李衛(wèi)輝(@liwh),自由職業(yè)者

《Python工匠》不是一本語(yǔ)法書(shū),而是一本關(guān)于工程實(shí)踐的書(shū)。它試圖告訴讀者:如何正確選擇和使用Python語(yǔ)言的各種特性,寫(xiě)出運(yùn)行速度更快、bug更少、易測(cè)試并且易維護(hù)的程序。
——@laike9m,“捕蛇者說(shuō)”主播、Cyberbrain作者、Google工程師?


Python進(jìn)階,就讀工匠書(shū)

豆瓣 9.1 分,閉眼入,狠狠學(xué)


豆瓣9.1分,這本書(shū)會(huì)大大提升很多開(kāi)發(fā)者的Python編程能力的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
齐河县| 聊城市| 吉木乃县| 永福县| 遂川县| 龙口市| 苗栗县| 四会市| 霞浦县| 碌曲县| 浦东新区| 镇远县| 汉川市| 新源县| 梧州市| 西充县| 钦州市| 武平县| 松原市| 清镇市| 进贤县| 和田市| 门源| 阜康市| 印江| 舞钢市| 丹凤县| 郁南县| 同德县| 伊宁县| 彰化县| 阿克苏市| 大厂| 修文县| 甘南县| 达日县| 桦川县| 马公市| 太原市| 大新县| 马山县|