gpt4 book ai didi

python-3.x - 检查 Python 中的类型提示覆盖率

转载 作者:行者123 更新时间:2023-12-04 01:43:12 25 4
gpt4 key购买 nike

我想在我的 Python 包中的任何地方强制执行类型提示,并将 CI 配置为构建失败,以防它不是 100%。

有没有办法让我使用 mypy 或 Python 中的任何其他包来报告类型提示覆盖率,类似于我如何检查代码覆盖率,例如coverage.py ?

要求严格的 100% 类型提示覆盖率是否也合理?

最佳答案

Is there a way for me to report type hint coverage using mypy or any other package in Python similarly to how I can check code coverage with e.g. coverage.py?



是的,有很多禁止 various uses of Any missing type annotations 的标志。或者您可以通过 the --strict flag 来禁止使用单个标志的大量有问题的构造。 --strict 的精确定义可能会随着时间的推移而改变,因此它可能不适合 CI(即“为什么构建被破坏了,我所做的只是安装了一个新的 mypy ?”)。还有 a number of flags for generating coverage reports

Is it also sensible to require a strict 100% of type hint coverage?



这将在很大程度上取决于您希望通过类型提示完成什么,以及您的代码库的历史和当前状态。例如,如果您和您的所有开发人员都来自静态类型背景(即您以前使用静态类型语言(例如 C++ 和 Java)进行编程),并且您没有很多旧的 Python 代码需要支持,那么这很可能运作良好。另一方面,如果您有大量遗留代码(可能是在最后一刻从 Python 2 转换过来的),或者如果您的许多开发人员习惯于动态类型,那么可能存在更多的阻抗不匹配。如果您不确定这是否适合您,我建议您在严格和不严格的情况下设置单独的 CI 构建。如果严格的始终为红色,而非严格的始终为绿色,则在启用强制类型提示之前,您可能需要克服技术或文化问题。

关于python-3.x - 检查 Python 中的类型提示覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56532731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com