如何检查Mypy`#type:ignore`注释是否仍然有效并且是必需的?

阿列克谢·马里尼琴科(Alexei Marinichenko)

想象一下,我们有一些庞大的旧代码库,其中包含许多文件,这些文件带有被忽略的Mypy警告:

def foobar():
   x = some_external_class.some_method()[0]  # type: ignore[ignore-some-mypy-warning]

该走了...

代码的某些部分已更改。代码的某些部分仍然相同。如何检查每个“忽略”评论以了解:如果删除它,我会收到错误消息吗?

所需的输出:

Checked 100500 files!
You do not need "ignore" comments anymore in the following files:
  - spam.py:534
  - eggs.py:31
  - eggs.py:250

有没有现成的工具可以做到这一点?关于自定义脚本有什么想法吗?

UPD:

我唯一的想法是:

  1. 编写一个脚本,该脚本将查找并记住一个文件以及每个Mypy注释的一行。
  2. 查找并删除所有Mypy评论。
  3. 运行Mypy检查->存储结果。
  4. 将Mypy检查错误行与存储的OLD行进行比较。
  5. 有所不同:如果删除了评论,但是Mypy现在不抱怨该行,则必须删除该评论。
用户名

mypy文档中

--warn-unused-ignores

每当您的代码使用#类型时,此标志都会使mypy报告错误:忽略实际上未生成错误消息的行上的注释。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检测给定的文件是否为图像并且是Java中特定类型的有效图像

来自分类Dev

检查paramiko ssh连接是否仍然有效

来自分类Dev

如何检查IDP是否仍然存在有效的会话?

来自分类Dev

如何检查QImage是否有效?

来自分类Dev

如何检查日期是否有效?

来自分类Dev

如何检查len是否有效

来自分类Dev

如何检查len是否有效

来自分类Dev

如何检查SSHD是否有效?

来自分类Dev

@Autowired查找模棱两可的依赖关系,并且仍然有效。如何?

来自分类Dev

如何在XHTML1.1中使用数据属性并且仍然有效

来自分类Dev

检查现有的条纹客户卡是否仍然有效

来自分类Dev

如何检查所有字段是否有效?

来自分类Dev

如何检查所有字段是否有效?

来自分类Dev

检查Gcm Intent Service上的活动是否仍然有效

来自分类Dev

检查Gcm Intent Service上的活动是否仍然有效

来自分类Dev

Android-如何检查Proguard混淆是否有效?

来自分类Dev

PDO:如何检查连接是否有效?

来自分类Dev

如何检查Verilog枚举是否有效?

来自分类Dev

如何检查std :: thread是否有效

来自分类Dev

如何检查DOM元素和/或属性是否有效?

来自分类Dev

如何检查R网络代理设置是否有效?

来自分类Dev

如何检查Docker的重启策略是否有效

来自分类Dev

如何检查ActiveRecord inverse_of检测是否有效?

来自分类Dev

如何检查git commit作者是否有效

来自分类Dev

如何检查代理在JavaScript中是否有效

来自分类Dev

如何检查Split()结果是否有效?

来自分类Dev

如何检查PHP CURL SSL是否有效

来自分类Dev

如何检查URL在Swift中是否有效?

来自分类Dev

如何检查Facebook ID是否有效