Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 8每个文件的最大复杂性_Python_Django_Flake8 - Fatal编程技术网

Python 8每个文件的最大复杂性

Python 8每个文件的最大复杂性,python,django,flake8,Python,Django,Flake8,我有一个使用flake8检查代码质量和复杂性的遗留项目,但该项目有一些非常复杂(糟糕)的服务,它们返回复杂性警告消息: ./service1.py:127:1: C901 'some_method' is too complex (50) 我们正在慢慢过渡到让它们变得更好,但我们需要让jenkins(正在运行测试和flake8)通过 是否有一种方法可以指定忽略每个文件,甚至每个方法的代码错误或复杂性?在flake配置中添加: [flake8] ignore = C901 max-complex

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

./service1.py:127:1: C901 'some_method' is too complex (50)
我们正在慢慢过渡到让它们变得更好,但我们需要让jenkins(正在运行测试和flake8)通过


是否有一种方法可以指定忽略每个文件,甚至每个方法的代码错误或复杂性?

在flake配置中添加:

[flake8]
ignore = C901
max-complexity = <some_number>
[8]
忽略=C901
最大复杂度=
尝试尝试使用
max complexity
的值,以获得与项目更相关的数字

编辑: 您也可以忽略或

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

您可以使用:

然后在配置文件中:

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

如果您想要每个方法/函数的解决方案,您可以使用源代码中的noqa:ignore=C901语法。

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

flake8 --per-file-ignores='service1.py:C901'
这也可以在以下文件中指定:


是的,当然我知道我可以禁用C901,但我不想对所有文件禁用它。好的,那么这可能会有用一些类似的建议,但没有被接受:。可以在您的情况下使用,即在
def
行前面添加
#noqa:ignore=C901
。从Flake8 3.7.0开始,支持“每个文件忽略”,不安装任何插件。查看我的详细信息。
flake8 --per-file-ignores='service1.py:C901'
[flake8]
per-file-ignores =
    service1.py: C901