深入淺析Python代碼規(guī)范性檢測(cè)
一定要注重代碼規(guī)范,按照平時(shí)的代碼管理,可以將Python代碼規(guī)范檢測(cè)分為兩種:
- 靜態(tài)本地檢測(cè):可以借助靜態(tài)檢查工具,比如:Flake8,Pylint等,調(diào)研了一下,用Flake8的相對(duì)較多,功能滿足,本文將使用Flake8
- git:可借助git hooks,本文推薦使用pre-commit。
靜態(tài)本地檢測(cè)
Flake8包裝了Pyflakes、Pycodestyle和McCabe,也可以自定義插件。功能包括:
- 檢查代碼是否符合PEP8
- 檢查是否包含語(yǔ)法錯(cuò)誤和未使用的變量和導(dǎo)入
- 檢查代碼的復(fù)雜度
pip install flake8
配置
推薦在pycharm中配置flake8:
參數(shù)說(shuō)明:
- Program中填寫(xiě)Flake可執(zhí)行文件的具體路徑
- arguments中可添加自定義參數(shù),比如設(shè)置每行的最大字符數(shù),過(guò)濾某些文件(夾)等。
安裝完了之后單擊就可以檢測(cè)了:
執(zhí)行檢測(cè)之后,如果出現(xiàn) exit code 0
就說(shuō)明代碼規(guī)范,否則可按照提示進(jìn)行整改。
pre-commit
官網(wǎng): https://pre-commit.com/
介紹:
使用git的話,可以使用pre-commit鉤子,在調(diào)用 git commit
命令時(shí)會(huì)自動(dòng)執(zhí)行腳本進(jìn)行檢測(cè),若代碼出錯(cuò),則不會(huì)commit成功。
作用:
- 在
git commit
命令之前對(duì)代碼進(jìn)行規(guī)范性檢測(cè) - 按照配置,對(duì)一些不符合規(guī)范的代碼自動(dòng)更新為規(guī)范的(比如:填充空格、更新import等)
- 提示更新之后仍不符合規(guī)范的代碼
安裝
pip install pre-commit
Linux中安裝完成即可執(zhí)行pre-commit命令,Windows中需將.exe的路徑添加至環(huán)境變量,方可執(zhí)行pre-commit命令。
配置
在項(xiàng)目根目錄下添加.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
具體的配置可結(jié)合官網(wǎng)或github中的說(shuō)明文檔進(jìn)行相關(guān)配置更新。
安裝
執(zhí)行 pre-commit install
命令,會(huì)在.git/hook路徑下生成pre-commit文件,這樣就保證了pre-commit安裝成功,可以正常使用了。
然后執(zhí)行:
更新配置文件只需要執(zhí)行 pre-commit install
即可。
使用
配置完成之后,在 git commit
之前都會(huì)執(zhí)行剛才的配置,可根據(jù)執(zhí)行的結(jié)果來(lái)更新或者提交代碼。
到此這篇關(guān)于Python代碼規(guī)范性檢測(cè)的文章就介紹到這了,更多相關(guān)Python代碼規(guī)范性檢測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)驗(yàn)證碼識(shí)別
這篇文章主要介紹了Python實(shí)現(xiàn)驗(yàn)證碼識(shí)別的方法,文中講解非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作示例
這篇文章主要介紹了Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)異常捕獲、傳遞、處理等常見(jiàn)操作技巧,需要的朋友可以參考下2019-09-09Pycharm簡(jiǎn)單使用教程(入門(mén)小結(jié))
這篇文章主要介紹了Pycharm簡(jiǎn)單使用教程(入門(mén)小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-07-07pytorch 實(shí)現(xiàn)變分自動(dòng)編碼器的操作
這篇文章主要介紹了pytorch 實(shí)現(xiàn)變分自動(dòng)編碼器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05