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 |