📜  Python中没有质量保证 (noqa)

📅  最后修改于: 2022-05-13 01:55:13.575000             🧑  作者: Mango

Python中没有质量保证 (noqa)

好吧,如果您是刚开始使用Python的人,那么您很可能不知道此功能。即使您是一位经验丰富的程序员,您也可能不知道这个漂亮的小功能。这将是一篇简短而简单但非常有用的文章。那么,究竟什么是noqa 。 NOQA 代表NO 质量保证

noqa = NO-QA (NO Quality Assurance)

这通常意味着,如果您的 IDE 中有任何警告,那么如果您在行尾添加注释为# noqa ,则 IDE 将忽略该警告。这件事可能看起来很琐碎,但在项目级别设置了某些配置的生产环境中可能非常有用,这可以防止开发人员将代码推送到有警告的 VCS。

显然,有时 IDE 无法理解某些编码样式,例如如果您在包的__init__.py中进行导入,并且您从未在同一个文件中使用它。您导入它的唯一原因是任何其他使用您的包的开发人员都可以访问它。

首先,我们将创建一个名为demo_noqa的Python包。该目录应包含两个文件, __init__.pycheck.py 。您的目录结构应如下所示。

目录结构

现在,转到check.py并简单地创建一个名为printf()的函数。您可以使用以下代码示例。

Python3
def printf():
    print("*\n**\n")


Python3
from .check import printf


现在,转到__init__.py并简单地从check.py导入printf它。您可以查看以下代码示例

蟒蛇3

from .check import printf

现在,只需保存文件。您将看到您将收到一条警告,指出printf 已导入但从未使用过。在这里,下面是示例

警告示例

请注意printf下方的 while 行。这是一个警告。现在,如果您只是在行尾添加# noqa ,警告将被抑制。在这里,下面是一个相同的例子。

抑制警告

请注意,灯泡图标消失了,白线也消失了。这就是noqa的用法。如果您是初学者,您可能会觉得这很琐碎,但相信我,一旦您进入现实世界的工作并开始处理生产级别的代码,您最终会非常频繁地使用noqa