Python代碼規範,python代碼
一:背景
用於正常化ocp python開發,對於使用python開發的程式使用統一的風格,便於代碼的維護
二:python風格規範
- 分號:不要在行尾加分號,也不要用分號將兩條命令放在同一行
- 括弧:寧缺毋濫的使用括弧。除非是用於實現行串連,否則不要在返回語句或者條件陳述式中使用括弧,不過在元組兩邊使用括弧是允許的
- 縮排:用4個空格來代替縮排代碼。絕對不要用tab,也不要tab和空格混用。對於行串連的情況,你應該要麼垂直對齊換行的元素,或者使用4空格的懸進式縮排(這時第一行不應該有參數)
- 空行:頂級定義之間空兩行,比如函數或者類定義。方法定義,類定義與第一個方法之間,都應該空一行。函數或者方法中,某些地方要是你覺得合適,就空一行
- 空格:按照標準的排版規範來使用標點兩邊的空格。括弧內不要有空格;不要在逗號、分號、冒號前邊加空格,但應該在它們後邊加(除了在行尾);參數列表、索引或者切片的左括弧不應加空格;在二元操作符兩邊都加上一個空格,比如賦值(=),比較(==, <, >, !=, <>, <=, >=, in, not in, is, is not),布爾(and, or, not)。至於算術操作符兩邊的空格該如何使用,需要你自己好好判斷。不過兩側務必要保持一致;當’=’用於指示關鍵字參數或預設參數值時,不要在其兩側使用空格;不要用空格來垂直對齊多行間的標記,因為這會成為維護的負擔(適用於:, #, =等)
- 類:如果一個類不繼承自其它類,就顯示的從object類繼承
- 字串:即使參數都是字串,使用%操作符或者格式方法格式化字串,不要使用+的方式
- 匯入方式:每個匯入獨佔一行。匯入總應該放在檔案頂部,位於模組注釋和文檔字串之後,模組全域變數和常量之前。匯入應該按照最通用到最不通用的順序分組:標準庫匯入;第三方庫匯入;應用程式指定匯入,每個分組中應該根據每個模組的完整包路徑按照字典順序排序,忽略大小寫
- 語句:通常每個語句應該獨佔一行。如果測試結果與測試語句在一行放得下,也可以將它們放在一行。如果是if語句,只有在沒有else時才能這樣做。特別地,絕對不要對try/except這樣做,因為try和except不能放在同一行。
- 命名:ob_module_name ob_package_name ObClassName TestObClassName method_name test_method_name ExceptionName function_name GLOBAL_VAR_NAME instance_var_name function_parameter_name local_var_name
- 其它點待後續補充
三:要求:
- 代碼修改後必須先跑pylint再發起review,pylint跑分要控制在90之上,對於一些顯而易見的不合規範之處必須修正
- pylint使用:在obztools目錄下執行tools/pylint.sh file
四:參考:
- PEP 8 – Style Guide for Python Code:猛擊這裡
- Python 編碼風格指南中譯版(Google SOC):猛擊這裡