flake8每个文件的最大复杂度

时间:2017-06-22 16:23:11

标签: python django flake8

我有一个使用flake8检查代码质量和复杂性的遗留项目,但该项目有一些非常复杂(可怕)的服务,它们会返回复杂性警告消息:

./service1.py:127:1: C901 'some_method' is too complex (50)

我们正在慢慢过渡到让它们更好,但我们需要让jenkins(运行测试和flake8)通过。

有没有办法指定忽略每个文件的代码错误或复杂性,甚至是每个方法?

3 个答案:

答案 0 :(得分:1)

您可以使用flake8-per-file-ignores

pip install flake8-per-file-ignores

然后在配置文件中:

[flake8]
per-file-ignores =
    your/legacy/path/*.py: C901,E402

如果您需要每个方法/函数解决方案,则可以使用源内# noqa: ignore=C901语法。

答案 1 :(得分:0)

如果您使用的是Flake8 3.7.0+,则可以使用--per-file-ignores选项忽略特定文件的警告:

flake8 --per-file-ignores='service1.py:C901'

这也可以在config file中指定:

[flake8]
per-file-ignores =
    service1.py: C901

答案 2 :(得分:-1)

在你的flake配置中添加:

[flake8]
ignore = C901
max-complexity = <some_number>

尝试使用max-complexity的值来试验,为项目获取更多相关数字。

修改 您也可以忽略line of your codefile

完成重构后,请不要忘记更改这些设置。