Python 进阶 — Flake8 静态代码检查工具
2023-06-13 09:13:42 时间
大家好,又见面了,我是你们的朋友全栈君。
目录
文章目录
Flake8
Flake8 是由 Python 官方发布的一款静态代码检查工具(https://pypi.python.org/pypi/flake8/),相对于 PyLint 而言,Flake8 的检查规则灵活,支持集成额外插件,扩展性强。
Flake8 是对下面 3 个工具的封装:
- PyFlakes:静态检查 Python 代码逻辑错误的工具。
- PEP8:静态检查 PEP8 编码风格的工具。
- NedBatchelder’s McCabe:静态分析Python代码复杂度的工具。
错误返回码
Flake8 的基础错误返回码一共有 3 类:
- Fxxx:PyFlakes 返回的代码逻辑错误 Error。
- Exxx、Wxxx:PEP8 返回的编码规范 Error 和 Warning。
- C9xx:McCabe 返回的代码复杂度。通过 Flake8 的 –max-complexity 选项可以设定 McCabe 的函数复杂度数值,高出则告警。Flake8 建议值为 12。
安装
$ python -m pip install flake8
$ flake8 –help
使用
- 直接使用:
$ cd /project_path/
$ flake8 .
- 通常的 flake8 会集成到 tox 一同更方便使用:
[tox]
minversion = 2.0
envlist = pep8
[testenv:pep8]
commands =
flake8
- 展示特定错误码:
# e.g. 以 E 开头
flake8 --select E project_path
# e.g. H233
flake8 --select H233 project_path
- 忽略特定错误码:
# e.g. H233
flake8 --ignore H233 project_path
# e.g. 忽略检查 test1.py 文件
flake8 --exclude project_path/path2/test1.py project_path
- 输出修改格式:
flake8 --format=%(path)s::%(row)d,%(col)d::%(code)s::%(text)s project_path
插件
Flake8 相比其他 Python 静态代码检查工具的优势在于其良好的扩展性,以下介绍几款比较流行的插件:
- hacking:根据 OpenStack Style Guidelines 产生,官方文档:https://pypi.python.org/pypi/hacking,错误返回码以 H 开头。
pip install hacking
- flake8-chart:可视化插件,将 flake8 的分析结果转化为图形。
flake8 --statistics shadowtest |flake8chart--chart-type=BAR --chart-output=shadow.svg
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197245.html原文链接:https://javaforall.cn
相关文章
- python re.compile() 详解——Python正则表达式「建议收藏」
- python要不要装pycharm-Python和pyCharm安装
- python flask教程_python框架有哪些
- python十进制转换_Python 进制转换
- Python进制转换和补零「建议收藏」
- python操作ES数据库「建议收藏」
- python截图识别文字_Python文字截图识别OCR工具实例解析
- python表情代码_Python实现表情包的代码实例[通俗易懂]
- 【说站】python类的两种属性
- 【说站】python静态web服务器如何实现
- python使用smtp发送字符串邮件
- python用冒泡法排序_数组冒泡排序c语言函数
- Python保存json_python保存json文件
- 接口测试第2讲:Python测试框架——unittest
- 用python画一只布朗熊
- 软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线
- python-Python与MongoDB数据库-使用Python执行MongoDB查询(三)
- Python学习:5、if语句,while语句,函数详解编程语言
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- python之多线程队列详解编程语言
- 安装Python MySQL驱动之快速指南(python安装mysql驱动)
- Python实现MySQL数据库的读取(python读取mysql)
- Python与Linux:开启互联网信息技术时代(python和linux)
- 在Linux系统中使用Python编程语言(linux中python)
- 在Linux上安装Python学习快乐(linux下载python)
- 使用nodejs、Python写的一个简易HTTP静态文件服务器