max-statements在 Javascript 中,ESLint 为小型、模块化和可读的函数提供了非常好的执行。我希望在 Python Flake8 lint 中找到类似的东西,但到目前为止我还没有运气。有没有办法配置Flake8来鼓励小功能?
最佳答案
要扩展@kindall 的评论,
Flake8 不提供语句检查器,但它有两种计算函数和方法的圈复杂度的方法。
Cyclomatic complexity使用语句和分支来确定函数的复杂性,因此这可能会产生比您在 JavaScript 中看到的更简单的函数。这是因为 if/elif/else
结构会增加复杂性,for
和 while
循环也会增加复杂性。
要启用“内置”圈复杂度强制执行,您可以使用--max-complexity
。不过,还有 mccabe
项目的替代方案。例如,如果您 pip install radon
将其自己的圈复杂度检查添加到 Flake8 中,并将在您运行 Flake8 时运行。
关于python - Flake 8 与 ESLint max-statements 的等价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956197/