python - Flake 8 与 ESLint max-statements 的等价

标签 python coding-style flake8 linter

max-statements在 Javascript 中,ESLint 为小型、模块化和可读的函数提供了非常好的执行。我希望在 Python Flake8 lint 中找到类似的东西,但到目前为止我还没有运气。有没有办法配置Flake8来鼓励小功能?

最佳答案

要扩展@kindall 的评论,

Flake8 不提供语句检查器,但它有两种计算函数和方法的圈复杂度的方法。

Cyclomatic complexity使用语句和分支来确定函数的复杂性,因此这可能会产生比您在 JavaScript 中看到的更简单的函数。这是因为 if/elif/else 结构会增加复杂性,forwhile 循环也会增加复杂性。

要启用“内置”圈复杂度强制执行,您可以使用--max-complexity。不过,还有 mccabe 项目的替代方案。例如,如果您 pip install radon 将其自己的圈复杂度检查添加到 Flake8 中,并将在您运行 Flake8 时运行。

关于python - Flake 8 与 ESLint max-statements 的等价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956197/

相关文章:

python - 同时忽略 pylint 和 Flake8 的一行

python - 对 Python 最小测验感到困惑

python - 教科书本身显示双引号,但是当我尝试时会给出SyntaxError

python - 使用 PySide 将按字母顺序排列的项目添加到 QComboBox

c++11 - 指针检查的性能差异 - 智能指针

python - 二元运算符后的 W504 换行符

python - Scipy:加速二维复积分的计算

Java - 在 getter 方法中克隆属性

python - 编码风格 : lightweight/simplest way to create instances supporting attribute assignment?

python-3.x - 为什么 flake8 在 lambda 中调用 print 时会抛出语法错误?