PyCharm:如何在本地禁用缺少docstring检查

2024-09-30 02:26:12 发布

您现在位置:Python中文网/ 问答频道 /正文

问题

我在Python类中有一个方法,我使用functools.wraps来分配docstring。下面是我使用的确切代码:

facade.py

#!/usr/bin/env python3

"""Facade."""


from functools import wraps

import back_end


@wraps(back_end.some_method)
def renamed_method(str_to_print):  # noinspection PyMissingOrEmptyDocstring
    back_end.some_method(str_to_print)

back_end.py

#!/usr/bin/env python3


"""Back End."""


def some_method(some_str: str) -> None:
    """Prints out a string.

    Args:
        some_str: A string to print

    """
    print(some_str)

PyCharm检查对方法renamed_method发出警告Missing docstring。我这边就是这样:

What I Can See

我在同一行中添加了# pylint: disable=C0111,它不会使警告消失。你知道吗

我怎样才能让这个警告消失?我不想全局取消检查。你知道吗


我所尝试的

仅供参考,我使用PyCharm CE 2018.3.7。我也刚刚更新到PyCharm CE 2019.2.2,得到了相同的结果。我使用默认设置,唯一更改的是使用Google docstring格式和检查Python的所有检查选项。你知道吗

#1:灯泡-->;抑制选项

我看着这个答案:https://stackoverflow.com/a/51148355/11163122

PyCharm的网站here上也有记录。你知道吗

我没有得到它承诺的抑制选项。你知道吗

Pressing on light bulb

#2:无检查意见

我也试过:# noinspection PyMissingOrEmptyDocstring(完整列表here)。以下是完整的尝试:

@wraps(back_end.some_method)
def renamed_method(str_to_print):  # noinspection PyMissingOrEmptyDocstring
    back_end.some_method(str_to_print)

以及我看到的景象:

noinspection output


旁白

为什么要使用functools.wraps装饰器?见facade pattern。你知道吗


Tags: todefbacksomemethodpycharmenddocstring
1条回答
网友
1楼 · 发布于 2024-09-30 02:26:12

PyCharm允许您抑制(而不是禁用)检查。你知道吗

您可以单击灯泡并选择“抑制此类”或手动添加:

# noinspection PyMissingOrEmptyDocstring

更多信息https://www.jetbrains.com/help/pycharm/disabling-and-enabling-inspections.html#suppress-inspections

具体到给定的示例,这是行不通的:

@wraps(back_end.some_method)
def renamed_method(str_to_print):  # noinspection PyMissingOrEmptyDocstring
    back_end.some_method(str_to_print)

但这将:

# noinspection PyMissingOrEmptyDocstring
@wraps(back_end.some_method)
def renamed_method(str_to_print):
    back_end.some_method(str_to_print)

相关问题 更多 >

    热门问题