【发布时间】:2018-07-01 21:33:12
【问题描述】:
我试图忽略警告C901 too complex 仅针对单个功能。我已经尝试过几乎可以看到# noqa: C901 的排列,但仍然出现错误。我认为函数(方法?)上方的# noqa 注释就足够了。我什至尝试将注释与def 声明放在同一行,如下所示:
class Klass():
def my_complex_method(self): # noqa: C901
"""
lots of if's and return's
"""
这是我从flake8 收到的消息的示例:
src/test/_resource.py:147:5: C901 'Resource.render' is too complex (22)
def render(self, request): # noqa: C901
^
快速搜索只会产生如何忽略全局或整个文件。这不是我想要的,因为如果文件太复杂,我确实想捕获文件中的其他函数。有谁知道我该如何解决我的问题?
【问题讨论】:
-
您可以忽略特定行的错误,但您必须将
# noqa注释放在引发错误的行上,这可能不是def行。 -
@kindall 据我所知,它在
def线上。我已经用我从 flake8 得到的示例更新了这个问题。 -
你的函数有装饰器吗?我通过将
# noqa注释放在装饰器的行上而不是包含def的行上来禁用此警告。