深入淺析Python代碼規(guī)范性檢測
一定要注重代碼規(guī)范,按照平時的代碼管理,可以將Python代碼規(guī)范檢測分為兩種:
- 靜態(tài)本地檢測:可以借助靜態(tài)檢查工具,比如:Flake8,Pylint等,調研了一下,用Flake8的相對較多,功能滿足,本文將使用Flake8
- git:可借助git hooks,本文推薦使用pre-commit。
靜態(tài)本地檢測
Flake8包裝了Pyflakes、Pycodestyle和McCabe,也可以自定義插件。功能包括:
- 檢查代碼是否符合PEP8
- 檢查是否包含語法錯誤和未使用的變量和導入
- 檢查代碼的復雜度
pip install flake8
配置
推薦在pycharm中配置flake8:
參數(shù)說明:
- Program中填寫Flake可執(zhí)行文件的具體路徑
- arguments中可添加自定義參數(shù),比如設置每行的最大字符數(shù),過濾某些文件(夾)等。
安裝完了之后單擊就可以檢測了:
執(zhí)行檢測之后,如果出現(xiàn) exit code 0
就說明代碼規(guī)范,否則可按照提示進行整改。
pre-commit
官網(wǎng): https://pre-commit.com/
介紹:
使用git的話,可以使用pre-commit鉤子,在調用 git commit
命令時會自動執(zhí)行腳本進行檢測,若代碼出錯,則不會commit成功。
作用:
- 在
git commit
命令之前對代碼進行規(guī)范性檢測 - 按照配置,對一些不符合規(guī)范的代碼自動更新為規(guī)范的(比如:填充空格、更新import等)
- 提示更新之后仍不符合規(guī)范的代碼
安裝
pip install pre-commit
Linux中安裝完成即可執(zhí)行pre-commit命令,Windows中需將.exe的路徑添加至環(huán)境變量,方可執(zhí)行pre-commit命令。
配置
在項目根目錄下添加.pre-commit-config.yaml文件。
可參考官網(wǎng)樣例,:
repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - id: check-yaml - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/psf/black rev: 19.3b0 hooks: - id: black - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - id: flake8 args: - --max-line-length=120
具體的配置可結合官網(wǎng)或github中的說明文檔進行相關配置更新。
安裝
執(zhí)行 pre-commit install
命令,會在.git/hook路徑下生成pre-commit文件,這樣就保證了pre-commit安裝成功,可以正常使用了。
然后執(zhí)行:
更新配置文件只需要執(zhí)行 pre-commit install
即可。
使用
配置完成之后,在 git commit
之前都會執(zhí)行剛才的配置,可根據(jù)執(zhí)行的結果來更新或者提交代碼。
到此這篇關于Python代碼規(guī)范性檢測的文章就介紹到這了,更多相關Python代碼規(guī)范性檢測內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!