跳转到主要内容

通过代码计算Python函数认知复杂度的库

项目描述

congnitive-complexity

Build Status Maintainability Test Coverage PyPI version PyPI - Python Version

通过代码计算Python函数认知复杂度的库。

安装

pip install cognitive_complexity

使用

>>> import ast

>>> funcdef = ast.parse("""
... def f(a):
...     return a * f(a - 1)  # +1 for recursion
... """).body[0]

>>> from cognitive_complexity.api import get_cognitive_complexity
>>> get_cognitive_complexity(funcdef)
1

Flake8-Cognitive-Complexity 扩展

可能是使用此库的最常见方法(尤其是如果您已经使用Flake8代码检查器),就是使用flake8-cognitive-complexity扩展。如果您安装了此扩展后运行Flake8,Flake8会通知您代码是否过于复杂。有关更多详细信息和方法,请访问flake8-cognitive-complexity扩展仓库

什么是认知复杂度

以下是一些关于认知复杂度的阅读资料

实现细节

这并不是对G. Ann Campbell提出的原始算法的精确实现,但它给出了相当相似的结果。该算法为打破控制流、嵌套、递归、栈逻辑运算等提供了复杂性点。

贡献

我们非常欢迎您为我们的项目做出贡献。这很简单

  • 创建一个关于您发现的错误或您提出的建议的问题。等待维护者的批准。
  • 创建一个拉取请求。确保所有检查都为绿色。
  • 如有必要,修复审查评论。
  • 表现得很好。

以下是一些有用的提示

  • 您可以使用make check运行所有检查和测试。请在TravisCI之前完成。
  • 我们使用BestDoctor python styleguide。抱歉,目前风格指南只有俄语版本。
  • 我们尊重Django CoC。做出柔软,而不是胡说八道。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

cognitive_complexity-1.3.0.tar.gz (5.7 kB 查看哈希值)

上传时间 源代码

由以下提供支持