Mccabe检查器,flake8插件
项目描述
Ned的检查McCabe复杂性的脚本。
此模块为Python代码检查器flake8提供插件。
安装
您可以使用以下命令安装、升级或卸载mccabe
$ pip install mccabe $ pip install --upgrade mccabe $ pip uninstall mccabe
独立脚本
可以直接使用复杂性检查器
$ python -m mccabe --min 5 mccabe.py ("185:1: 'PathGraphingAstVisitor.visitIf'", 5) ("71:1: 'PathGraph.to_dot'", 5) ("245:1: 'McCabeChecker.run'", 5) ("283:1: 'main'", 7) ("203:1: 'PathGraphingAstVisitor.visitTryExcept'", 5) ("257:1: 'get_code_complexity'", 5)
flake8插件
当同时安装flake8 2+和mccabe时,插件在flake8中可用
$ flake8 --version 2.0 (pep8: 1.4.2, pyflakes: 0.6.1, mccabe: 0.2)
默认情况下,插件是禁用的。使用--max-complexity开关启用它。如果函数的McCabe复杂度高于提供的值,它将发出警告
$ flake8 --max-complexity 10 coolproject ... coolproject/mod.py:1204:1: C901 'CoolFactory.prepare' is too complex (14)
此功能对于检测过度复杂的代码非常有用。根据McCabe的说法,任何超过10的东西都太复杂了。
Flake8具有许多mccabe不提供的功能。Flake8允许用户通过# noqa忽略由插件报告的违规。有关更多信息,请参阅他们的文档。要静默由mccabe报告的违规,请在报告错误的位置(可能是装饰器)的函数定义行上放置# noqa: C901。
链接
更改
0.7.0 - 2021-01-23
停止支持所有低于3.6版本的Python
添加对Python 3.8、3.9和3.10的支持
修复Flake8选项声明
0.6.1 - 2017-01-26
修复PathGraphingAstVisitor.default的签名,以匹配ASTVisitor的签名
0.6.0 - 2017-01-23
添加对Python 3.6的支持
修复处理缺失语句类型的问题
0.5.3 - 2016-12-14
报告违规的实际列号而不是行首
0.5.2 - 2016-07-31
当我们自己打开文件时,确保我们始终命名文件变量
0.5.1 - 2016-07-28
在类本身上设置默认最大复杂度为-1
0.5.0 - 2016-05-30
PyCon 2016 PDX版本
添加对Flake8 3.0的支持
0.4.0 - 2016-01-27
停止在Python 3.2上测试
从PEP 0492添加对Python 3.5中async/await关键字的异步支持
0.3.1 - 2015-06-14
将test_mccabe.py包含在版本中。
始终将Flake8入口点的max_complexity值强制转换为整数。
0.3 - 2014-12-17
计算错误:mccabe复杂度从1开始,而不是从2开始。
max-complexity值现在是包含的。例如:如果值为10,报告的复杂度也是10,则通过。
添加测试。
0.2.1 - 2013-04-03
在setup.py中不需要setuptools。它解决了pip和Python 3的问题。
0.2 - 2013-02-22
将项目重命名为mccabe。
提供flake8.extension setuptools入口点。
从配置文件中读取max-complexity。
将参数min_complexity重命名为threshold。
0.1 - 2013-02-11
首次发布
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。