1

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

4

1 回答 1

3

要扩展@kindall 的评论,

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

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

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

于 2016-12-04T17:22:39.013 回答