代码检查规则:Python语言案例详解
在之前的文章中代碼檢查規則:Java語言案例詳解學習了Java的檢查規則。我們今天將學習《代碼檢查規則:Python語言案例詳解》,內容主要分為兩個部分:Python的代碼檢查規則和Python編碼慣例。
Python代碼檢查規則的講解
一套良好的代碼檢查規則,可以帶來代碼質量提高,降低缺陷修復和后期維護成本等一系列收益。
Python代碼檢查規則主要分為四個大類,分別是代碼風格規范、引用規范、定義規范和異常處理規范。
代碼風格規范
這一大類的規范規則較為繁瑣,具體又可細分以下七個小類,共計17條規則:
(1)程序規模規范:
①每行不得超過 120 個字符。
②定義的函數長度不得超過 120 行。
這意味著,在編寫代碼時,需要時刻注意自己的程序規模,避免冗余,確保寫出簡潔而高效的代碼。
(2)語句規范
因為Python與其他語言不同,可以不需要明確的標識符表示語句的結尾,所以規定:
③禁止以分號結束語句。
④在任何情況下,一行只能寫一條語句。
(3)括號使用規范
⑤除非用于明確算術表達式優先級、元組或者隱式行連接,否則盡量避免冗余的括號。
(4)縮進規范
⑥禁止使用Tab進行縮進,而統一使用4個空格進行縮進。
需要將單行內容拆成多行寫時規定:
⑦與首行保持對齊;或者首行留空,從第二行起統一縮進4個空格。
(5)空行規范
⑧文件級定義(類或全局函數)之間,相隔兩個空行;類方法之間,相隔一個空行。
(6)空格規范
⑨括號之內均不添加空格。
⑩參數列表、索引或切片的左括號前不應加空格。
?逗號、分號、冒號之前均不添加空格,而是在它們之后添加一個空格。
?所有二元運算符前后各加一個空格。
?關鍵字參數或參數默認值的等號前后不加空格。
(7)注釋規范
?每個文件都必須有文件聲明,每個文件聲明至少必須包括以下三個方面的信息:版權聲明、功能和用途介紹、修改人及聯系方式。
另外在使用文檔字符串(docstirng)進行注釋時,規定:
?使用docstring描述模塊、函數、類和類方法接口時,docstring必須用三個雙引號括起來。
?對外接口部分必須使用docstring描述,內部接口視情況自行決定是否寫docstring。
?接口的docstring描述內容至少包括以下三個方面的信息:功能簡介、參數、返回值。如果可能拋出異常,必須特別注明。
引用規范
引用規范有嚴格而具體的規定:
①禁止使用 from……import…… 句式直接導入類或函數,而應在導入庫后再行調用。
②每行只導入一個庫。
③按標準庫、第三方庫、應用程序自有庫的順序排列import,三個部分之間分別留一個空行。
定義規范
(1)在變量定義方面,我們有強制的規范規定:
①局部變量使用全小寫字母,單詞間使用下劃線分隔。
②定義的全局變量必須寫在文件頭部。
③常量使用全大寫字母,單詞間使用下劃線分隔
(2)函數的定義規范主要體現在函數的返回值以及默認參數的定義上。
為提高代碼可讀性,對于函數的返回值,規范要求為:
①函數返回值必須小于或等于3個。若返回值大于3個,則必須通過各種具名的形式進行包裝。
為了保障函數的運行效率以及降低后期維護和糾錯的成本,對于函數默認參數的定義有如下要求:
②僅可使用以下基本類型的常量或字面常量作為默認參數:整數、bool、浮點數、字符串、None。
(3)類定義的規范包括了四個方面的內容:
①類的命名使用首字母大寫的駝峰式命名法。
②對于類定義的成員:protected成員使用單下劃線前綴;private成員使用雙下劃線前綴。
③如果一個類沒有基類,必須繼承自ovject類。
④類構造函數應盡量簡單,不能包含可能失敗或過于復雜的操作。
(4)異常處理規范:
在代碼編寫中應該盡量避免出現代碼異常狀態,然而錯誤有時在所難免,對于這些異常狀態的處理,有著明確的規范要求:
①禁止使用雙參數形式或字符串形式的語法拋出異常。
②如需自定義異常,應在模塊內定義名為 Error 的異常基類。并且,該基類必須繼承自 Exception 。其他異常均由該基類派生而來。
③除非重新拋出異常,禁止使用 except:語句捕獲所有異常, 一般情況下,應使except……:語句捕獲具體的異常。
④捕捉異常時,應當使用 as 語法,禁止使用逗號語法。
Python編碼慣例
讓模塊既可被導入又可執行
python不同于編譯型語言,而屬于腳本語言,是動態的逐行解釋運行,沒有統一的程序入口。所以,為了方便模塊之間的相互導入,我們通常自定義一個 main 函數,并使用一個if 語句, if 內置變量 name == ‘main’ ,在這個if 條件下,再去執行 main函數。這樣,我們就能夠實現,讓模塊既可被導入又可執行。
in運算符的使用
in一種簡潔而高效的運算符,很多時候,合理的使用in運算符,可以代替大量的重復判斷過程,降低時間復雜度,提高代碼的運行效率。
不使用臨時變量交換兩個值
Python有更簡潔而高效的語句可以實現交換兩個值的操作,并無必要引入臨時變量來交換兩個值。
用序列構建字符串
對于一個字符串列表、元組等,可以用序列來構建字符串,利用一個空字符串和join函數,就可以避免重復,高效完成相應字符串的構建。
點擊進入獲得更多技術信息~~
總結
以上是生活随笔為你收集整理的代码检查规则:Python语言案例详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Palo Doris版五分钟快速入门
- 下一篇: echarts控制只显示部分数据的折线图