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
注释来防止,否则您将无法看到它产生的许多错误。使用ignore
、extend-ignore
或per-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的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 771765ab27d1efd157528379acd15131147f9ae578a72d17fb432ca197881243 |
|
MD5 | fb4ef6188987489a35a4c619f25e811d |
|
BLAKE2b-256 | 71d088b930e9da2f333c71474a2d8207954178d71724a6673a111d9117aff1c6 |
flake8_noqa-1.4.0-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4465e16a19be433980f6f563d05540e2e54797eb11facb9feb50fed60624dc45 |
|
MD5 | 83beff32c0e6957531d60a6372ae30f4 |
|
BLAKE2b-256 | 01ec0eab800b28f3c2d1eeae2561eda4962ca5291e97668728405f9fddfdc768 |