Python 進(jìn)階 — Flake8 靜態(tài)代碼檢查工具

      網(wǎng)友投稿 1737 2025-04-01

      目錄


      文章目錄

      目錄

      flake8

      錯(cuò)誤返回碼

      安裝

      使用

      插件

      flake8

      Flake8 是由 Python 官方發(fā)布的一款靜態(tài)代碼檢查工具(https://pypi.python.org/pypi/flake8/),相對(duì)于 PyLint 而言,F(xiàn)lake8 的檢查規(guī)則靈活,支持集成額外插件,擴(kuò)展性強(qiáng)。

      Flake8 是對(duì)下面 3 個(gè)工具的封裝:

      PyFlakes:靜態(tài)檢查 Python 代碼邏輯錯(cuò)誤的工具。

      PEP8:靜態(tài)檢查 PEP8 編碼風(fēng)格的工具。

      NedBatchelder’s McCabe:靜態(tài)分析Python代碼復(fù)雜度的工具。

      錯(cuò)誤返回碼

      Flake8 的基礎(chǔ)錯(cuò)誤返回碼一共有 3 類(lèi):

      Fxxx:PyFlakes 返回的代碼邏輯錯(cuò)誤 Error。

      Exxx、Wxxx:PEP8 返回的編碼規(guī)范 Error 和 Warning。

      C9xx:McCabe 返回的代碼復(fù)雜度。通過(guò) Flake8 的 --max-complexity 選項(xiàng)可以設(shè)定 McCabe 的函數(shù)復(fù)雜度數(shù)值,高出則告警。Flake8 建議值為 12。

      安裝

      $ python -m pip install flake8 $ flake8 –help

      1

      2

      使用

      直接使用:

      $ cd /project_path/ $ flake8 .

      1

      2

      通常的 flake8 會(huì)集成到 tox 一同更方便使用:

      [tox] minversion = 2.0 envlist = pep8 [testenv:pep8] commands = flake8

      1

      2

      3

      4

      5

      6

      7

      展示特定錯(cuò)誤碼:

      # e.g. 以 E 開(kāi)頭 flake8 --select E project_path # e.g. H233 flake8 --select H233 project_path

      1

      2

      3

      4

      5

      忽略特定錯(cuò)誤碼:

      # e.g. H233 flake8 --ignore H233 project_path # e.g. 忽略檢查 test1.py 文件 flake8 --exclude project_path/path2/test1.py project_path

      Python 進(jìn)階 — Flake8 靜態(tài)代碼檢查工具

      1

      2

      3

      4

      5

      輸出修改格式:

      flake8 --format=%(path)s::%(row)d,%(col)d::%(code)s::%(text)s project_path

      1

      插件

      Flake8 相比其他 Python 靜態(tài)代碼檢查工具的優(yōu)勢(shì)在于其良好的擴(kuò)展性,以下介紹幾款比較流行的插件:

      hacking:根據(jù) OpenStack Style Guidelines 產(chǎn)生,官方文檔:https://pypi.python.org/pypi/hacking,錯(cuò)誤返回碼以 H 開(kāi)頭。

      pip install hacking

      1

      flake8-chart:可視化插件,將 flake8 的分析結(jié)果轉(zhuǎn)化為圖形。

      flake8 --statistics shadowtest |flake8chart--chart-type=BAR --chart-output=shadow.svg

      1

      Python 代碼檢查 CodeCheck

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何制作甘特圖(橫道圖),excel甘特圖制作方法
      下一篇:為什么數(shù)據(jù)透視表里面刷新沒(méi)有我想要的客戶呢(數(shù)據(jù)透視表的數(shù)據(jù)怎么刷新不了)
      相關(guān)文章
      亚洲AV日韩AV永久无码久久| 亚洲成AV人片在线观看无| 久久久久亚洲精品日久生情 | 亚洲国产成人精品女人久久久| 亚洲综合欧美色五月俺也去| 亚洲激情校园春色| 亚洲视频小说图片| 亚洲精品mv在线观看| 亚洲五月六月丁香激情| 久久久久久亚洲av成人无码国产| 在线观看亚洲av每日更新| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 亚洲jjzzjjzz在线观看| 亚洲国产成人在线视频| 亚洲国产成人手机在线电影bd| 亚洲中文无码线在线观看| 亚洲一区二区三区精品视频| 亚洲一区二区三区不卡在线播放| 亚洲a级在线观看| 在线亚洲高清揄拍自拍一品区| 亚洲中文无码卡通动漫野外| 亚洲JLZZJLZZ少妇| 午夜在线亚洲男人午在线| 亚洲国产综合久久天堂| 在线观看国产区亚洲一区成人 | 亚洲国产日韩在线成人蜜芽| 亚洲免费网站在线观看| 99热亚洲色精品国产88| 亚洲精品又粗又大又爽A片| 亚洲av日韩综合一区久热| 亚洲AV无码专区日韩| AV在线亚洲男人的天堂| 亚洲精品你懂的在线观看| 香蕉视频在线观看亚洲| 亚洲精品免费在线观看| 亚洲国产夜色在线观看| 亚洲欧洲AV无码专区| 夜色阁亚洲一区二区三区| 国产亚洲精品国看不卡| 亚洲综合一区二区精品导航| 亚洲乱码一二三四区国产|