Flake 8与ESLint max-statements相当

时间:2016-12-04 06:48:09

标签: python coding-style flake8 linter

Javascript中的

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

1 个答案:

答案 0 :(得分:2)

扩展@ kindall的评论,

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

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

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