Python 編程規範梳理

原因

因爲項目團隊中新加入了幾名攻城獅, 你們以前的背景各不相同,寫出的代碼也是「風格迥異」。正所謂:「無規則不成方圓」,所以須要對編程進行必要的規範。html

總體的思路是:依照PEP8 Python 編碼規範,並結合本身團隊的實際狀況來定義一些規則。node

 

代碼編排

1 縮進。4個空格的縮進(編輯器均可以完成此功能),若是使用nodepad++請不要使用默認的Tab,更不能混合使用Tab和空格。python

2 每行最大長度爲80,換行可使用反斜槓 "\",最好使用圓括號。換行點要在操做符的後邊敲回車。git

3 類和top-level函數定義之間空兩行;類中的方法定義之間空一行;函數內邏輯無關段落之間空一行;其餘地方儘可能不要再空行。 github

4 模塊內容的順序:模塊說明和docstring—import—globals&constants—其餘定義。編程

 

文檔編排

1 import部分,又按標準、三方和本身編寫順序依次排放,之間空一行。 編輯器

2 不要一次import中多個庫,好比import os, sys不推薦。ide

 

空格的使用:整體原則,避免沒必要要的空格。

1 各類右括號前不要加空格。函數

2 逗號、冒號、分號前不要加空格。ui

3 函數的左括號前不要加空格。如Func(1)。

4 序列的左括號前不要加空格。如list[2]。

5 操做符左右各加一個空格,不要爲了對齊增長空格。

6 函數默認參數使用的賦值符左右省略空格。

7 不要將多句語句寫在同一行,儘管語法容許使用";"。

8 if/for/while語句中,即便執行語句只有一句,也必須另起一行()。

 

註釋

註釋必須使用英文,最好是完整的句子,首字母大寫,句後要有結束符,結束符後跟兩個空格,開始下一句。若是是短語,能夠省略結束符。

1 塊註釋,在一段代碼前增長的註釋。在‘#’後加一空格。段落之間以只有‘#’的行間隔。

2 行註釋,在一句代碼後加註釋。好比:x = x + 1 # Increment x

3 避免無謂的註釋。

 

命名規範

1 模塊命名儘可能短小,使用所有小寫的方式,可使用下劃線。

2 包命名儘可能短小,使用所有小寫的方式,不可使用下劃線。

3 類的命名使用CapWords的方式,模塊內部使用的類採用_CapWords的方式。

4 異常命名使用CapWords+Error後綴的方式。

5 全局變量儘可能只在模塊內有效,相似C語言中的static。統必定義在一個模塊中。

6 函數命名使用所有小寫的方式,可使用下劃線。

7 常量命名使用所有大寫的方式,可使用下劃線。

8 類的屬性(方法和變量)命名使用所有小寫的方式,可使用下劃線。

9 類的屬性有3種做用域public、non-public和subclass API,能夠理解成C++中的public、private、protected。non-public屬性前,前綴一條下劃線

 

參考:

https://github.com/google/styleguide/blob/gh-pages/pyguide.md

http://www.runoob.com/w3cnote/google-python-styleguide.html

https://www.cnblogs.com/haishiniu123/p/7125677.html

相關文章
相關標籤/搜索