Flow覆盖分数的用处是什么?

时间:2018-01-17 22:08:25

标签: javascript types code-coverage flowtype typechecking

我不明白流量覆盖率得分表示什么。 Flow不会报告任何文件错误,但会给它一个低覆盖率。我有一个文件,Flow告诉我没有错误,但我只有28%的覆盖率。它不计算自己的推论吗?

2 个答案:

答案 0 :(得分:2)

覆盖率分数表示有多少类型的流类型注释。

这些不是错误(虽然是潜在错误),但是流量缺乏一些信息来检查100%的类型。

答案 1 :(得分:2)

Flow coverage分数用于描述应用程序源代码的类型检查程度。 类型检查是流程验证并强制构造的类型(常量,布尔值,数字,变量,数组,对象,函数,类)与您指定的不变量匹配的过程

因此,具有高流量覆盖率的应用程序更多的源代码类型已检查,这表明它包含未检测到的软件错误的可能性较低(未处理)类型,嵌套对象中的印刷错误)与流量覆盖率低的程序相比。

如果您的应用的流量覆盖率为100%,您还可以假设可以安全地重构代码,甚至可以信任您的编辑器自行执行某些重构任务,例如。在多个文件中重命名对象的属性(在VSCode中,右键单击>重命名符号)。