成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么Python代碼要寫得美觀而明確

開發(fā) 后端
歡迎閱讀“Python 光明節(jié)(Pythonukkah)”系列文章,這個(gè)系列文章將會(huì)討論《Python 之禪》。我們首先來看《Python 之禪》里的前兩個(gè)原則:美觀與明確。

為什么Python代碼要寫得美觀而明確

歡迎閱讀“Python 光明節(jié)(Pythonukkah)”系列文章,這個(gè)系列文章將會(huì)討論《Python 之禪》。我們首先來看《Python 之禪》里的前兩個(gè)原則:美觀與明確。

早在 1999 年,Python 的貢獻(xiàn)者之一,Tim Peters 就提出了《Python 之禪》,直到二十年后的今天,《Python 之禪》中的 19 條原則仍然對(duì)整個(gè)社區(qū)都產(chǎn)生著深遠(yuǎn)的影響。為此,就像慶典光明的光明節(jié)Hanukkah一樣,我們舉行了這一次的“Python 光明節(jié)Pythonukkah”。首先,我們會(huì)討論《Python 之禪》中的前兩個(gè)原則:美觀和明確。

“Hanukkah is the Festival of Lights,

Instead of one day of presents, we get eight crazy nights.”

—亞當(dāng)·桑德勒,光明節(jié)之歌

美觀勝于丑陋

著名的《計(jì)算機(jī)程序的構(gòu)造和解釋Structure and Interpretation of Computer Programs》中有這么一句話:代碼是寫給人看的,只是恰好能讓機(jī)器運(yùn)行。Programs must be written for people to read and only incidentally for machines to execute.機(jī)器并不在乎代碼的美觀性,但人類在乎。

閱讀美觀的代碼對(duì)人們來說是一種享受,這就要求在整套代碼中保持一致的風(fēng)格。使用諸如 Blackflake8Pylint 這一類工具能夠有效地接近這一個(gè)目標(biāo)。

但實(shí)際上,只有人類自己才知道什么才是真正的美觀。因此,代碼審查和協(xié)同開發(fā)是其中的不二法門,同時(shí),在開發(fā)過程中傾聽別人的意見也是必不可少的。

最后,個(gè)人的主觀能動(dòng)性也很重要,否則一切工具和流程都會(huì)變得毫無意義。只有意識(shí)到美觀的重要性,才能主動(dòng)編寫出美觀的代碼。

這就是為什么美觀在眾多原則當(dāng)中排到了首位,它讓“美”成為了 Python 社區(qū)的一種價(jià)值。如果有人要問,”我們真的在乎美嗎?“社區(qū)會(huì)以代碼給出肯定的答案。

明確勝于隱晦

人類會(huì)歡慶光明、懼怕黑暗,那是因?yàn)楣饽軌蜃屛覀兛吹诫y以看清的事物。同樣地,盡管有些時(shí)候我們會(huì)不自覺地把代碼寫得含糊不清,但明確地編寫代碼確實(shí)能夠讓我們理解很多抽象的概念。

“為什么類方法中要將 self 顯式指定為第一個(gè)參數(shù)?”

這個(gè)問題已經(jīng)是老生常談了,但網(wǎng)絡(luò)上很多流傳已久的回答都是不準(zhǔn)確的。在編寫元類metaclass時(shí),顯式指定 self 參數(shù)就顯得毫無意義。如果你沒有編寫過元類,希望你可以嘗試一下,這是很多 Python 程序員的必經(jīng)之路。

顯式指定 self 參數(shù)的原因并不是 Python 的設(shè)計(jì)者不想將這樣的元類視為“默認(rèn)”元類,而是因?yàn)榈谝粋€(gè)參數(shù)必須是顯式的。

即使 Python 中確實(shí)允許非顯式的情況存在(例如上下文變量),但我們還是應(yīng)該提出疑問:某個(gè)東西是不是有存在的必要呢?如果非顯式地傳遞參數(shù)會(huì)不會(huì)出現(xiàn)問題呢?有些時(shí)候,由于種種原因,這是會(huì)有問題的。總之,在寫代碼時(shí)一旦能夠優(yōu)先考慮到明確性,至少意味著能對(duì)不明確的地方提出疑問并對(duì)結(jié)果作出有效的估計(jì)。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2016-06-14 09:48:19

框架

2015-08-10 13:25:38

編程寫作

2013-09-30 10:16:32

博客技術(shù)人員

2015-12-28 10:35:59

碼農(nóng)寫作

2017-12-15 13:07:35

程序員代碼練習(xí)

2018-10-15 09:20:08

代碼軟件工程師

2014-11-18 14:54:57

App StoreApp審核

2019-04-19 11:56:48

框架AI開發(fā)

2013-03-25 10:14:18

NginxApache

2023-03-09 08:23:07

序列化?接口方法

2023-09-26 11:28:08

代碼注釋軟件開發(fā)

2021-08-14 09:04:58

TypeScriptJavaScript開發(fā)

2021-10-30 19:57:00

HTTP2 HTTP

2012-10-10 16:52:21

CentOSDebianUbuntu

2017-09-11 19:58:06

PostgreSQLMySQL數(shù)據(jù)庫

2020-06-02 14:17:55

QWER排列鍵盤打印機(jī)

2023-03-08 12:44:00

谷歌AI區(qū)塊鏈

2023-10-08 08:36:03

2023-09-28 07:34:23

JDK廢棄永久代元空間

2020-12-23 16:02:42

操作系統(tǒng)紅帽CentOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品中文字幕av | 国产成人精品免高潮在线观看 | 欧美在线日韩 | 九一在线 | 亚洲高清在线播放 | 亚洲一区免费 | 国产亚洲精品久久久久动 | 在线免费观看a级片 | 成人欧美一区二区三区在线播放 | 国产精品一区一区 | 国产成人一区二区三区 | 久久精品一 | 久久av一区 | 中文字幕在线一区二区三区 | 亚洲欧美激情精品一区二区 | 我要看黄色录像一级片 | 国产伦一区二区三区视频 | 亚洲高清在线 | 精品国产欧美一区二区三区成人 | 一区二区三区在线 | 成人国产一区二区三区精品麻豆 | 成人在线精品 | 久久久久久久综合色一本 | 日韩精品一区二区三区中文字幕 | 久久综合九九 | 国产一区二区三区视频在线观看 | 日韩视频―中文字幕 | 91国内外精品自在线播放 | 欧美四虎 | 免费一级大片 | 久久99精品国产99久久6男男 | 日韩高清成人 | 国产 日韩 欧美 制服 另类 | 国产视频一区二区三区四区五区 | 国产99视频精品免视看9 | 男人天堂网址 | 国产高清在线精品 | 欧美成人综合 | 天堂资源最新在线 | 99精品免费 | 久久三级影院 |