跳转到主要内容

flake8 noqa注释验证

项目描述

flake8-noqa

flake8插件用于验证# noqa注释。

flake8对# noqa注释的格式非常挑剔。如果您的# noqa不是flake8所期望的格式,它很可能会导致您的# noqa注释被忽略。

然而,忘记冒号或在错误的位置添加额外的空格会将严格的# noqa: <code>注释转换为通用的# noqa注释,这很可能不是您所期望的。例如:# noqa F841# noqa : F841# noqa: F841将被解释为# noqa,并可能导致隐藏您关心的其他错误。

此插件寻找格式不正确的noqa注释,以确保您的# noqa注释正常工作并仅执行您期望的操作。

可选地,它还可以强制使用带有所有# noqa注释的代码。

此外,此插件还会寻找不必要的# noqa注释,因为要么该行上没有匹配的违规行为,要么它们包含不匹配现有违规行为的代码。

本模块报告的错误无法通过# noqa注释来防止,否则您将无法看到它产生的许多错误。使用ignoreextend-ignoreper-file-ignores来按需忽略它们。或者,如果您有一个注释,该插件认为它是一个带有代码的# noqa注释,但实际上不是,例如# noqa : X100 is not a code,您可以使注释看起来不太像正确的# noqa注释。例如,# noqa - X100 is not a code(flake8将这两者都解释为# noqa)。

使用说明:当确定违规是否与# noqa注释匹配时,此插件要求flake8知道否则将应用的所有违规。一些插件会自己处理# noqa注释,并在看到# noqa注释时停止向flake8发送违规报告。这样做会导致此插件停止看到违规,并可能报告没有违规或匹配的代码。当您然后删除# noqa注释或违规代码时,另一个插件将重新发送违规,提示您恢复# noqa注释或代码。

这种情况的最佳解决方案是尝试让有问题的插件停止尊重# noqa注释。这样做被视为反模式,最好让flake8决定是否应将违规显示给用户。有问题的插件可能有选项来控制此行为(注意flake8的--disable-noqa选项将禁用所有noqa注释,因此不是这种情况的合适解决方案)。如果插件没有选项来控制其# noqa行为,最好的行动方案可能是通过适当的错误报告系统联系插件的维护者。

如果插件未维护,或者维护者由于任何原因拒绝解决此问题,您可以自由地在此插件上提交问题,以查看是否可以建立一种解决方案。

安装

标准Python包安装

pip install flake8-noqa

选项

noqa-require-code:要求在# noqa注释中包含代码

noqa-no-require-code:不要求在# noqa注释中包含代码(默认设置)

noqa-include-name:在消息中包含插件名称

noqa-no-include-name:不在消息中包含插件名称(默认设置)

所有选项都可以使用带有--前缀的命令行指定,或者可以放在您的flake8配置文件中。

错误代码

代码 消息
NQA001 "#noqa"必须在井号后有一个空格,例如"# noqa"
NQA002 "# noqa X000"必须有一个冒号,例如"# noqa: X000"
NQA003 "# noqa : X000"必须在冒号前没有空格,例如 "# noqa: X000"
NQA004 "# noqa: X000"在代码前最多只能有一个空格,例如 "# noqa: X000"
NQA005 "# noqa: X000, X000"有重复的代码,移除X000
NQA011 "#flake8: noqa"必须在井号后有一个空格,例如 "# flake8: noqa"
NQA012 "# flake8 noqa"必须有一个冒号或等于号,例如 "# flake8: noqa"
NQA013 "# flake8 : noqa"必须在冒号前没有空格,例如 "# flake8: noqa"
NQA101 "# noqa"没有违规
NQA102 "# noqa: X000"没有匹配的违规
NQA103 "# noqa: X000, X001"有未匹配的代码(s),移除X001
NQA104 "# noqa"必须包含代码,例如 "# noqa: X000"(通过noqa-require-code启用)

示例

#flake8 noqa   <-- ignored (NQA011)
x = 1+2  #noqa  <-- ignored (NQA001)
x = 1+2  # noqa E226  <-- treated as a blanket noqa (NQA002)
x = 1+2  # noqa : E226  <-- treated as a blanket noqa (NQA003)
x = 1+2  # noqa:  E226  <-- treated as a blanket noqa (NQA004)
x = 1+2 # noqa: X101, E261 <-- unmatched code (NQA103)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分布

flake8-noqa-1.4.0.tar.gz (27.1 kB 查看哈希)

上传时间 源代码

构建分布

flake8_noqa-1.4.0-py3-none-any.whl (24.8 kB 查看哈希)

上传时间 Python 3

支持者