max-statements ESLint为小型,模块化和可读的功能提供了非常好的实施。我希望在Python Flake8 lint中找到类似的东西,但到目前为止我还没有运气。有没有办法配置Flake8来鼓励小功能?
答案 0 :(得分:2)
扩展@ kindall的评论,
Flake8不提供语句检查器,但它确实有两种方法来计算函数和方法的圈复杂度。
Cyclomatic complexity使用语句和分支来确定函数的复杂性,因此这可能会导致比在JavaScript中看到的函数更简单的函数。这是因为if/elif/else
结构会增加复杂性,for
和while
循环也会增加。
启用"内置"圈复杂度实施,您可以使用--max-complexity
。但是,mccabe
项目有替代方案。例如,如果您pip install radon
将自己的圈复杂度检查添加到Flake8,并在运行Flake8时运行。