V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Micropaper
V2EX  ›  程序员

一分钟读论文:《要不要上 TypeScript? GitHub 上 JS 和 TS 应用软件质量的系统比较》

  •  
  •   Micropaper ·
    unbug · 2023-02-01 00:52:48 +08:00 · 2124 次点击
    这是一个创建于 661 天前的主题,其中的信息可能已经有所发展或是发生改变。

    你的团队是否还在纠结要不要将项目改成 TypeScript 呢?改成 TypeScript 应用的 bug 能得到收敛吗?德国斯图加特大学软件工程研究所的这篇新论文《 To Type or Not to Type? A Systematic Comparison of the Software Quality of JavaScript and TypeScript Applications on GitHub 》能给你答案:

    1. TypeScript 应用的代码味道( code smells )比 JavaScript 应用少得多,即代码质量更好
    2. TypeScript 应用的认知复杂性明显低于 JavaScript 应用,即更好的代码可理解性
    3. TypeScript 应用比 JavaScript 应用具有更高的 bug 提交率,即更容易或同样容易出现 bug 。
    4. TypeScript 应用比 JavaScript 应用花费更多或相等的时间来解决 bug 。
    5. 使用 any 类型的频率与 TypeScript 应用中的代码异味数量呈正相关但微弱相关 (𝜌 = 0.26)。
    6. 使用 any 类型的频率与 TypeScript 应用中的认知复杂性呈正相关但微弱相关 (𝜌 = 0.19)。
    7. 在 TypeScript 应用中,使用 any 类型的频率与 bug 修复率之间没有显著相关性
    8. 使用 any 类型的频率与 TypeScript 应用中的 bug 解决时间呈正相关但微弱相关 (𝜌 = 0.17)。

    阅读全文:一分钟读论文:《要不要上 TypeScript ? GitHub 上 JS 和 TS 应用软件质量的系统比较》

    8 条回复    2023-02-02 00:23:28 +08:00
    ccyu220
        1
    ccyu220  
       2023-02-01 08:23:04 +08:00
    说的好,我用 TS
    1t1y1ILnW0x5nt47
        2
    1t1y1ILnW0x5nt47  
       2023-02-01 08:44:10 +08:00
    第三点和第四点的结论有点有失偏颇了,ts 在编写和编译阶段就已经排除了部分 bug 了,剩下的 bug 隐匿性都比较高,所以花费更多时间修复也是可以理解的
    ljsh093
        3
    ljsh093  
       2023-02-01 10:07:34 +08:00   ❤️ 1
    个人小玩具已经全上 TS 了,开发时间是有一定增加,但是确实舒服很多
    mascteen
        4
    mascteen  
       2023-02-01 10:57:47 +08:00 via Android
    在原有的语言上再上一层肯定是有增益的,要不然上他干嘛,但是除非 ts 是新语言要不然原生开发适用场景更多
    Oktfolio
        5
    Oktfolio  
       2023-02-01 11:56:19 +08:00   ❤️ 1
    code smells 可以译为“代码屎味”🤔
    ZoeeoZ
        6
    ZoeeoZ  
       2023-02-01 15:44:44 +08:00
    @ljsh093 额,不需要协同开发的程序 TS 又有什么优势呢..过滤低级语法 bug?
    15hop
        7
    15hop  
       2023-02-01 17:13:50 +08:00
    @Oktfolio 还是"坏味道"没那么冲的味👻
    ljsh093
        8
    ljsh093  
       2023-02-02 00:23:28 +08:00
    @ZoeeoZ bug 是一回事,确实改了不少以前不规范的写法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2701 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.