跳到内容

blanket-type-ignore (PGH003)

v0.0.187 版本添加 · 相关议题 · 查看源码

源自 pygrep-hooks 代码检查工具。

作用

检查是否存在屏蔽所有类型警告的 type: ignore 注释,而非仅针对特定的类型警告。

为什么这不好?

屏蔽所有警告可能会掩盖代码中的潜在问题。

笼统的 type: ignore 注释也更难理解和维护,因为该注释并未明确指出预期要屏蔽的是哪些警告。

示例

from foo import secrets  # type: ignore

建议改为

from foo import secrets  # type: ignore[attr-defined]

参考

Mypy 支持一项 内置设置,可强制要求所有 type: ignore 注释必须包含错误代码,这类似于启用此规则。

[tool.mypy]
enable_error_code = ["ignore-without-code"]