【问题标题】:Flake 8's equivalence to ESLint max-statementsFlake 8 等价于 ESLint max-statements
【发布时间】:2017-04-18 18:43:33
【问题描述】:

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

【问题讨论】:

  • 看起来有一个圈复杂度检查器,但默认情况下它是禁用的。 --max-complexity 是它的命令行标志或配置文件中的max-complexity =。建议值为 10。这不完全相同,但可以鼓励类似的习惯。

标签: python coding-style flake8 linter


【解决方案1】:

要扩展@kindall 的评论,

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2020-01-18
    • 2017-12-01
    • 2021-07-12
    • 1970-01-01
    • 2020-11-20
    • 2010-09-29
    相关资源
    最近更新 更多