摘要:原文作者原題的代碼庫使用編碼風(fēng)格。此外,推薦的用于連續(xù)行的編碼風(fēng)格毫無一點(diǎn)品味,絕不允許在代碼庫使用與開局定界符對(duì)齊。但是,關(guān)于靈活設(shè)定行長(zhǎng)的部分,我舉雙手雙腳贊同。關(guān)于代碼風(fēng)格,沒有絕對(duì)完全一致的標(biāo)準(zhǔn)。
原文:https://www.kennethreitz.org/...
作者:Kenneth Reitz
原題:Kenneth Reitz’s Code Style?
Requests 的代碼庫使用 PEP-8 編碼風(fēng)格。
除了 PEP-8 中列出的標(biāo)準(zhǔn)外,我們還有一些指導(dǎo)原則:
如果方便的話,行長(zhǎng)(Line-length)可超過 79 個(gè)字符,達(dá)到 100 個(gè)字符。
如果換行會(huì)導(dǎo)致嚴(yán)重的不方便,則行長(zhǎng)可以超過 100 個(gè)字符。
除非在字符串中出現(xiàn)單引號(hào),否則始終使用單引號(hào)字符串(例如,"#flatearth")。
此外,PEP-8 推薦的用于連續(xù)行的編碼風(fēng)格毫無一點(diǎn)品味,絕不允許在 Requests 代碼庫使用:
# 與開局定界符對(duì)齊 foo = long_function_name(var_one, var_two, var_three, var_four)
No。千萬別。請(qǐng)。
文檔字符串(docstrings)應(yīng)遵循以下語法:
def the_earth_is_flat(): """NASA divided up the seas into thirty-three degrees.""" pass def fibonacci_spiral_tool(): """With my feet upon the ground I lose myself / between the sounds and open wide to suck it in. / I feel it move across my skin. / I"m reaching up and reaching out. / I"m reaching for the random or whatever will bewilder me. / Whatever will bewilder me. / And following our will and wind we may just go where no one"s been. / We"ll ride the spiral to the end and may just go where no one"s been. Spiral out. Keep going... """ pass
所有函數(shù)、方法和類都要求包含 docstrings 。除了對(duì)象數(shù)據(jù)模型方法(例如,__repr__),這些是此規(guī)則的例外。
Thanks for helping to make the world a better place!
資料來源(譯注:即 Requests 的開發(fā)者指南):http://t.cn/E5VgNJF
(譯文完)
K 神的這篇文章很短,實(shí)際上,這只是摘自 Requests 的開發(fā)者指南的一小部分。
但是,關(guān)于靈活設(shè)定行長(zhǎng)的部分,我舉雙手雙腳贊同。如果你所在的公司有“清白盒”的優(yōu)良傳統(tǒng)(不僅指Python),那你極有可能遇到被迫換行的麻煩,而實(shí)際上才僅僅剛剛超出了幾個(gè)字符。那時(shí)候,你就會(huì)明白,這 3 條靈活規(guī)則的好處了。
另外,關(guān)于連續(xù)行的部分,PEP-8 相關(guān)內(nèi)容在:http://t.cn/Rq4mxOo
PEP-8 反對(duì)的是如下寫法:
# Arguments on first line forbidden when not using vertical alignment. # 不使用垂直對(duì)齊的參數(shù)禁止在第一行上 foo = long_function_name(var_one, var_two, var_three, var_four)
PEP-8 推薦的寫法是垂直地將換行的參數(shù)對(duì)齊起始的參數(shù):
# 與開局定界符對(duì)齊 foo = long_function_name(var_one, var_two, var_three, var_four)
K 神反對(duì)了 PEP-8 推薦的寫法。在我看來,任何有品味的人,都會(huì)反對(duì)以上的兩種寫法。
即使一個(gè)方法的參數(shù)超級(jí)多,超出了 100 個(gè)字符,我本人也是極不情愿換行的。所以,K 神的說法深得我心。
關(guān)于代碼風(fēng)格,沒有絕對(duì)完全一致的標(biāo)準(zhǔn)。本文也不想引起爭(zhēng)論。不過,我認(rèn)同 K 神設(shè)定的規(guī)則,因?yàn)橐环N與主流不同的審美傾向,值得發(fā)現(xiàn)它的同類。
-----------------
本文原創(chuàng)并首發(fā)于微信公眾號(hào)【Python貓】,后臺(tái)回復(fù)“愛學(xué)習(xí)”,免費(fèi)獲得20+本精選電子書。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/43057.html
摘要:因?yàn)榍宄匾庾R(shí)到自己的基礎(chǔ)并不扎實(shí),所以,幾個(gè)月以來,我花了不少時(shí)間系統(tǒng)性地學(xué)習(xí)了一些內(nèi)容。時(shí)間過得真快,現(xiàn)在能拿得出手的也就僅僅是字符串系列切片系列和迭代器系列了。關(guān)于技術(shù)寫作和翻譯,我初見門道,今后還會(huì)多作總結(jié)分享。 showImg(https://segmentfault.com/img/bVbn6bh?w=4167&h=2569); 從去年國(guó)慶節(jié)開始,我連續(xù)更新了 4 個(gè)月公眾...
閱讀 3339·2021-11-02 14:44
閱讀 3781·2021-09-02 15:41
閱讀 1785·2019-08-29 16:57
閱讀 1848·2019-08-26 13:38
閱讀 3366·2019-08-23 18:13
閱讀 2164·2019-08-23 15:41
閱讀 1728·2019-08-23 14:24
閱讀 3091·2019-08-23 14:03