gpt4 book ai didi

javascript - 测量 untyped-javascript -> typescript 转换进度?

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:33 24 4
gpt4 key购买 nike

好的,所以我完全相信 TypeScript 的想法,我想将它用于现有的软件项目。现在,由于 Typescript 是 javascript 的超集,这意味着我可以先将所有文件重命名为具有 .ts 扩展名而不是 .js,然后逐渐开始转换。

但是,我在团队中并不孤单,所以我可能会一点一点地进行转换,但其他开发人员会继续使用 .ts 文件中顽皮的未类型化 JavaScript 来增加代码库的大小。

然后我的想法是有一种方法来衡量一个项目有多少百分比的真实 TypeScript(非 JavaScript),以避免通过持续集成(例如,当 TS 速率降低时中断构建),我们去向后。

这可能吗? typescript 编译器是否可以提供这种统计数据?

最佳答案

看来您想衡量代码的类型安全性。简短回答:我不知道有什么简单的方法,如果你找到了什么请告诉我 :-)

问题是,即使您的 javascript 是无类型的,也不意味着您在使用 typescript 编译它时没有对其进行类型检查。 Typescript 编译器通常可以为未类型化的 javascript 代码推断类型:

function f() {
return { a: 'a', b: 1 };
}

var x = f();
var y = x.b;

var z = x.c; // error
y = y + '1'; // error

它确实让开发人员的生活更轻松,但这意味着衡量您想要的东西并不那么容易。您可以做的一件事是尝试使用 --noImplicitAny 编译您的项目并计算它产生了多少错误 - 这将为您提供编译器无法推断出合理类型的所有地方,然后就去了使用任何。此外,您可以捕获所有使用 tslint no-any 基本上绕过类型检查的 any 声明的实例。规则。

但在实际项目中,您通常还会有许多类型不那么严格的依赖项,这可能是必要的,也可能只是因为它们不完美。而且我认为没有办法判断 any 的出现是因为您的开发人员添加了类型不安全的代码,还是因为某些第三方依赖项需要它。

关于javascript - 测量 untyped-javascript -> typescript 转换进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40766948/

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