想象一下,我们有一些巨大的遗留代码库,其中有很多文件被忽略了 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
有没有现有的工具可以实现这一目标?关于自定义脚本有什么想法吗?
我唯一的想法是:
- 编写一个脚本来查找并记住一个文件和每条 Mypy 注释的一行。
- 查找并删除all我的评论。
- 运行 Mypy 检查 → 存储结果。
- 将 Mypy 检查错误行与存储的进行比较old lines.
- 查找差异:如果注释被删除,但 Mypy 现在不抱怨该行,则必须删除注释。
From mypy 文档 https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-warn-unused-ignores:
--warn-unused-ignores
每当您的代码使用 # 类型时,此标志将使 mypy 报告错误:忽略实际上不生成错误消息的行上的注释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)