2

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

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

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

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

4

3 回答 3

4

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

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

这也可以在配置文件中指定:

[flake8]
per-file-ignores =
    service1.py: C901
于 2019-05-17T13:49:01.130 回答
1

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

pip install flake8-per-file-ignores

然后在你的配置文件中:

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

如果您想要按方法/功能解决方案,您可以使用源内# noqa: ignore=C901语法。

于 2018-04-03T16:11:59.353 回答
-1

在您的薄片配置中添加:

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

尝试尝试max-complexity为您的项目获取更多相关数字的值。

编辑: 您也可以忽略一行代码文件

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

于 2017-06-22T16:32:51.577 回答