日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++编码规范_Python02编码规范

發(fā)布時間:2025/3/20 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++编码规范_Python02编码规范 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

俗話說無規(guī)范不方圓

官網(wǎng)

https://www.python.org/dev/peps/pep-0008/

前言

Guido的主要見解之一是代碼被讀取的次數(shù)多于其編寫的次數(shù)。此處提供的指南旨在提高代碼的可讀性,并使其在各種Python代碼中保持一致。正如PEP 20所說,“可讀性至關(guān)重要”。

代碼布局

縮進(jìn)

每個縮進(jìn)級別使用4個空格。

續(xù)行應(yīng)該使用在括號,方括號和花括號內(nèi)使用Python的隱式線垂直對齊包裝的元素,或使用懸掛式縮進(jìn)?[7]。使用懸掛式凹痕時,應(yīng)考慮以下幾點(diǎn):第一行不應(yīng)包含任何參數(shù),并且應(yīng)使用進(jìn)一步的縮進(jìn)形式將其清楚地區(qū)分為延續(xù)行:

最大線長限制

所有行最多79個字符。

為了使較長的文本塊具有較少的結(jié)構(gòu)限制(文檔字符串或注釋),行長應(yīng)限制為72個字符。

空行

用兩個空行包圍頂級函數(shù)和類定義。

類內(nèi)的方法定義由單個空白行包圍。

多余的空白行可以(分別)用于分隔相關(guān)功能組。一堆相關(guān)的單線(例如,一組虛擬實(shí)現(xiàn))之間可以省略空白行。

在函數(shù)中使用空白行,以節(jié)省空間,以指示邏輯部分。

源文件編碼

核心Python發(fā)行版中的代碼應(yīng)始終使用UTF-8(或Python 2中的ASCII)。

使用ASCII(在Python 2中)或UTF-8(在Python 3中)的文件不應(yīng)具有編碼聲明。

導(dǎo)入

1、導(dǎo)入通常應(yīng)在單獨(dú)的行上:

2、導(dǎo)入總是放在文件的頂部,緊隨任何模塊注釋和文檔字符串之后,以及模塊全局變量和常量之前。

導(dǎo)入應(yīng)按以下順序分組:

標(biāo)準(zhǔn)庫導(dǎo)入。

相關(guān)第三方進(jìn)口。

本地應(yīng)用程序/庫特定的導(dǎo)入。

您應(yīng)該在每組導(dǎo)入之間放置一個空白行。

3、推薦絕對導(dǎo)入,因?yàn)槿绻麑?dǎo)入系統(tǒng)配置不正確(例如,程序包中的目錄最終位于sys.path時),則它們通常更具可讀性,并且通常表現(xiàn)更好(或至少會提供更好的錯誤消息):

4、從包含類的模塊中導(dǎo)入類時,通常可以這樣拼寫:

5、應(yīng)該避免使用通配符導(dǎo)入(來自 import *),因?yàn)橥ㄅ浞共磺宄Q空間中存在哪些名稱,從而使閱讀器和許多自動化工具都感到困惑。

模塊級Dunder名稱

模塊級“dunders”(即名稱具有兩個前緣和兩個縱下劃線)如__all__,__author__,__version__等應(yīng)被放置在模塊文檔字符串之后,但在任何導(dǎo)入語句以外從__future__進(jìn)口。Python強(qiáng)制要求將來導(dǎo)入必須在模塊中出現(xiàn)在除文檔字符串以外的任何其他代碼之前:

字符串引號

在Python中,單引號字符串和雙引號字符串是相同的。本PEP對此不做任何建議。選擇一條規(guī)則并堅(jiān)持下去。但是,當(dāng)字符串包含單引號或雙引號字符時,請使用另一個以避免在字符串中使用反斜杠。它提高了可讀性。

對于三引號字符串,請始終使用雙引號字符以與PEP 257中的docstring約定一致。

表達(dá)式和語句中的空格

在以下情況下,請避免使用多余的空格:

注釋

與代碼矛盾的注釋比沒有注釋更糟糕。當(dāng)代碼更改時,始終要始終使注釋保持最新狀態(tài)!

評論應(yīng)為完整句子。第一個單詞應(yīng)大寫,除非它是一個以小寫字母開頭的標(biāo)識符(請勿更改標(biāo)識符的大小寫!)。

整體注釋通常由一個或多個完整句子組成的段落組成,每個句子以句點(diǎn)結(jié)尾。

在多句注釋中,除了最后一個句子之外,您應(yīng)該在句子結(jié)尾句后使用兩個空格。

確保您的注釋清晰明了,并且其他母語使用者也很容易理解。

來自非英語國家的Python編碼人員:請用英語寫您的評論,除非您有120%的把握確保不會說這種語言的人不會閱讀該代碼。

文檔字符串

在PEP 257中,編寫好的文檔字符串(也稱為“文檔字符串”)的約定不朽。

為所有公共模塊,函數(shù),類和方法編寫文檔字符串。對于非公共方法,文檔字符串不是必需的,但是您應(yīng)該具有描述該方法功能的注釋。該注釋應(yīng)出現(xiàn)在def行之后。

命名約定

Python庫的命名約定有點(diǎn)混亂,因此我們永遠(yuǎn)都無法做到完全一致-盡管如此,這是當(dāng)前推薦的命名標(biāo)準(zhǔn)。新的模塊和軟件包(包括第三方框架)應(yīng)按照這些標(biāo)準(zhǔn)編寫,但是如果現(xiàn)有庫具有不同的樣式,則首選內(nèi)部一致性。

首要原則

對于用戶而言,作為API公共部分可見的名稱應(yīng)遵循反映用法而不是實(shí)現(xiàn)的約定。

描述性:命名樣式

有很多不同的命名樣式。能夠獨(dú)立于它們的用途來識別正在使用的命名樣式。

通常區(qū)分以下命名樣式:

b(單個小寫字母)

B(單個大寫字母)

小寫

lower_case_with_underscores

大寫

UPPER_CASE_WITH_UNDERSCORES

大寫的單詞(或CapWords或CamelCase-之所以命名,是因?yàn)槠渥帜傅念嶔ね庥^[4])。有時也稱為StudlyCaps。

注意:在CapWords中使用首字母縮寫詞時,請使用首字母縮寫詞的所有字母大寫。因此,HTTPServerError比HttpServerError好。

mixedCase(與大小寫字母首字母小寫字母不同!)

Capitalized_Words_With_Underscores(難看!)

還有一種使用短的唯一前綴將相關(guān)名稱組合在一起的樣式。這在Python中使用不多,但是為了完整起見提到它。例如,os.stat()函數(shù)返回一個元組,該元組的項(xiàng)目傳統(tǒng)上具有諸如st_mode,st_size,st_mtime等名稱。(這樣做是為了強(qiáng)調(diào)與POSIX系統(tǒng)調(diào)用結(jié)構(gòu)的字段的對應(yīng)關(guān)系,這有助于程序員熟悉該結(jié)構(gòu)。)

軟件包和模塊名稱

模塊應(yīng)使用簡短的全小寫名稱。如果模塊名稱可以提高可讀性,則可以在模塊名稱中使用下劃線。盡管不鼓勵使用下劃線,但Python軟件包也應(yīng)使用短小寫全名。

當(dāng)用C或C ++編寫的擴(kuò)展模塊具有隨附的Python模塊提供更高級別(例如,更多面向?qū)ο?的接口時,C / C ++模塊具有下劃線(例如_socket)。

類名

類名通常應(yīng)使用CapWords約定。

在接口被記錄并主要用作可調(diào)用函數(shù)的情況下,可以代替使用函數(shù)的命名約定。

請注意,內(nèi)置名稱有一個單獨(dú)的約定:大多數(shù)內(nèi)置名稱是單個單詞(或兩個單詞一起運(yùn)行),而CapWords約定僅用于異常名稱和內(nèi)置常量。

類型變量名

在PEP 484中引入的類型變量的名稱通常應(yīng)使用CapWords,而應(yīng)使用短名稱:T,AnyStr,Num。建議將后綴_co或_contra添加到用于分別聲明協(xié)變或反變行為的變量中:

異常名稱

因?yàn)楫惓?yīng)該是類,所以在這里適用類命名約定。但是,您應(yīng)該在異常名稱上使用后綴“ Error”(如果異常實(shí)際上是一個錯誤)。

全局變量名

(我們希望這些變量只能在一個模塊內(nèi)使用。)這些約定與函數(shù)的約定大致相同。

設(shè)計用于通過M import *使用的模塊應(yīng)使用__all__機(jī)制以防止導(dǎo)出全局變量,或使用較早的約定在此類全局變量前加下劃線(您可能需要這樣做以表明這些全局變量是“非公共模塊” ”)。

函數(shù)和變量名

函數(shù)名稱應(yīng)小寫,必要時用下劃線分隔單詞以提高可讀性。

變量名與函數(shù)名遵循相同的約定。

僅在已經(jīng)是主流樣式(例如threading.py)的上下文中才允許使用mixedCase,以保持向后兼容性。

函數(shù)和方法參數(shù)

始終將self作為實(shí)例方法的第一個參數(shù)。

始終對類方法的第一個參數(shù)使用cls。

如果函數(shù)參數(shù)的名稱與保留關(guān)鍵字發(fā)生沖突,通常最好在末尾附加一個下劃線,而不要使用縮寫或拼寫錯誤。因此,class_優(yōu)于clss。(也許最好通過使用同義詞來避免此類沖突。)

方法名稱和實(shí)例變量

使用函數(shù)命名規(guī)則:小寫字母,必要時用下劃線分隔單詞,以提高可讀性。

僅對非公共方法和實(shí)例變量使用一個前劃線。

為避免名稱與子類沖突,請使用兩個前導(dǎo)下劃線來調(diào)用Python的名稱處理規(guī)則。

Python用類名來修飾這些名稱:如果類Foo具有名為__a的屬性,則Foo .__ a不能訪問它。(堅(jiān)持的用戶仍然可以通過調(diào)用Foo._Foo__a來獲得訪問權(quán)限。)通常,雙引號下劃線僅應(yīng)用于避免名稱與設(shè)計為子類的類中的屬性發(fā)生沖突。

注意:關(guān)于__name的使用存在一些爭議(請參見下文)。

常數(shù)

常量通常在模塊級別定義,并以所有大寫字母書寫,并用下劃線分隔單詞。示例包括MAX_OVERFLOW和TOTAL。

總結(jié)

以上是生活随笔為你收集整理的c++编码规范_Python02编码规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。