亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

配置 PyCharm 的自動代碼檢查

為了管控代碼與提高代碼質量,需要對代碼進行代碼檢查。通常我們會通過IDE自帶功能或者第三方工具。本節的主要內容是講解 PyCharm 自帶的代碼檢查如何配置,如何使用與運行,也會簡單介紹第三方工具 Pylint 在 PyCharm 如何配置與使用。

1. 代碼檢查主要功能

PyCharm 的代碼檢查功能也是相較于其它Python IDE 表現更為突出的功能,主要功能如下:

  • PyCharm 具有強大、快速和靈活的靜態代碼分析功能, IDE可以查找和突出顯示各種問題,查找死代碼,查找可能的錯誤,拼寫問題,并改進整個代碼結構。

  • 檢查不僅檢測編譯錯誤,還檢測不同的代碼效率低下。每當有一些無法訪問的代碼、未使用的代碼、非本地化的字符串、未解析的方法、內存泄漏時,都會很快找到它。

  • PyCharm的代碼分析可靈活配置。您可以啟用/禁用每個代碼檢查并更改其嚴重性、使用自定義檢查集創建配置文件、在不同的范圍內以不同的方式應用檢查、禁止特定代碼片段中的檢查等。

  • 每次檢查都有一個嚴重級別 -問題會影響代碼的程度。在編輯器中以不同的方式突出顯示嚴重性,以便快速區分關鍵問題和不太重要的事情。

2. 代碼檢查配置

2.1 基本配置

在主菜單上, PyCharm/File -> Preferences/Settings -> Editor -> Inspections, 在這可以進行檢查項的啟用與禁用,以及每個檢查項的嚴重級別、檢查范圍,也可指定自己的配置文件。

圖片描述

2.2 定制自己的配置文件

PyCharm 允許你為代碼驗證分析配置設置,并將其保存為檢查配置文件。你可以自定義現有檢查配置文件(包括默認配置文件)并創建新的檢查配置文件。你還可以共享、導入和導出檢查配置文件。

PyCharm 區分 IDE 和項目配置文件。

存儲在 IDE 中
這些配置文件保存在應用程序配置目錄中(例如Mac,~/Application Support/JetBrains/PyCharm2020.1/inspection),可用于任何項目。Default 配置是存在IDE中的。

存儲在項目中
這些配置文件保存在特定項目的 .idea 目錄中(例如,$PROJECT_DIR/.idea/ 檢查配置文件)。

Tips:通常在實際工作中,會把配置文件存在項目中,并通過 VCS 共享。在配置新項目配置文件并與團隊的其他成員共享后,此配置文件將在VCS 簽出項目后自動共享到我們的項目。

點擊齒輪設置按鈕,通過拷貝默認的配置,在項目下或者 IDE 創建新的配置文件。

圖片描述
拷貝的附本是與默認配置一致的,我們可以在附本中對檢查項啟用或者禁用,也可重新規定嚴重級別與檢查范圍等,最后點擊 Apply,就創建了自己的配置文件。

圖片描述

3. 運行代碼檢查

3.1 自動檢查打開的文件

PyCharm 自動分析編輯器中打開的文件中的代碼,并在鍵入時突出顯示異常代碼。

圖片描述

將鼠標懸停在條帶上的標記上,以查看工具提示中檢測到的問題。單擊標記可跳轉到相應的代碼字符串。對于大多數代碼問題,PyCharm 提供了快速修復,可以按 ??(Alt +Enter) 顯示所有建議。

圖片描述
Tips :通過按 F2 可以在編輯器中從一個突出顯示的字符串導航到另一個字符串。

3.2 指定范圍運行代碼檢查

step1:在編輯器中打開所需的文件。或者,在"Project"工具窗口中選擇文件或目錄( 按住 Ctrl/?)。初始檢查范圍將限于打開的文件或選擇;
step2:在主菜單上,選擇 code -> inspection code;
step3:將打開 “Specify Inspection Scope” 對話框, 指定應檢查哪些文件。

圖片描述
step4:單擊"ok"以運行代碼分析。 并在 Inspection Results 工具欄查看結果。
圖片描述

step5:嘗試修復問題。在檢查結果工具窗口中,選擇代碼問題,擊右鍵,會顯示修復建議,如果沒有修復建議,只能跳轉到源代碼手工修改。(雖然警告信息可能不影響程序運行,從代碼規范來講,也應該盡量減少警告信息的數量)。

圖片描述
Tips:PyCharm 允許禁止對特定語句、函數/方法、標記進行某些檢查。可以通過 Suppress for Function 或者 Suppress for Class實現。

圖片描述

3.3 按名字進行代碼檢查

step1:在編輯器中打開所需的文件?;蛘?,在"Project"工具窗口中選擇文件或目錄( 按住 Ctrl/?)。初始檢查范圍將限于打開的文件或選擇。

step2: 在主菜單上,選擇 code -> Run inspection by name。在打開的彈出框中,鍵入檢查名稱,鍵入時,建議列表將收縮,僅顯示匹配的檢查。

圖片描述

Tips:后面的操作與指定范圍操作是一致的。

3.4 通過命令行進行代碼檢查

對于大型項目,執行定期的代碼檢查,這是尤其重要的。在持續集成、持續交付、持續部署(CI/CD)中執行代碼檢查也是重要的環節。我們可以從命令行啟動檢查器,而無需實際運行 PyCharm。

命令行參數:

  1. 啟動器路徑(Path to the launcher):指定到啟動器完整路徑(位于 PyCharm 安裝的 bin 目錄下,必須指定完整的路徑):
    Windows:: inspect.bat
    UNIX 和 macOS:inspect.sh
    
  2. 項目文件路徑(Project file path): 是包含要檢查的項目的目錄的完整路徑。
  3. 檢查配置文件路徑(Inspection profile path ): 是配置文件的完整路徑。
  4. 輸出路徑(Output path): 是要存儲報告的完整路徑。
  5. 可選參數: 要檢查的目錄 -d [到子目錄的完整路徑]
    輸出日志的詳細級別 -vX ,其中 X 為 0 表示簡單,1 表示較細,2 表示詳細。

MAC 例子:

Applications/PyCharm.app/Contents/bin/inspect.sh ~/PycharmProjects/untitled2 ~/PycharmProjects/untitled2/.idea/inspectionProfiles/default_copy.xml  ~/PycharmProjects/untitled2/results-dir -v2

Tips:執行命令時,請關閉PyCharm。

查看結果

  1. 在主菜單上,選擇 Code -> View Offline Inspection Results。
  2. 在打開的"Select Path "對話框中,導航到包含 XML 格式的檢查結果的目錄。
  3. 單擊"OK"。檢查結果顯示在"Inspection results"工具窗口中的"Offline View "選項卡中。

圖片描述

4. Pylint

Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風格標準和有潛在問題的代碼。如檢查一行代碼的長度,變量名是否符合命名標準,一個聲明過的接口是否被真正實現等等。Pylint 還有一個好處是它的高可配置性,高可定制性。

Tips: PyCharm 本身提供的代碼檢查已經非常豐富了,如果不是特別要求,筆者不建議在PyCharm里使用Pylint。但畢竟Pylint 是著名的代碼分析工具,PyCharm也是支持的。所以,本節只簡單介紹如何在PyCharm 配置 pylint。

4.1 安裝 pylint

想要使用 pylint 需要先安裝:

pip install pyint

4.2 配置 Pyint 在 PyCharm

  1. 在主菜單上依次點擊: PyCharm/File -> Preferences/Settings -> Tools -> External Tools

圖片描述
Tips:如想加更多參數,請參考 Pylint運行參數。

  1. 點擊 “OK”, 添加外部工具成功。
    圖片描述

  2. 重啟PyCharm, 主菜單 Tools -> External Tools -> pylint。

圖片描述
4. 查看輸出。

圖片描述

5. 小結

代碼檢查是保證代碼質量的有效手段,很多公司都要求程序員在提交代碼時根據定制的檢查配置進行代碼檢查,達不到要求,可能導致提交失敗。在持續集成過程中,在最新代碼被構建后也會先運行代碼靜態走查,只有輸出結果符合公司的代碼規范,才會進行單元測試等后續過程。所以,掌握如何進行代碼檢查,并且根據提示做出修正是作為開發人員必要技能。

圖片描述