【问题标题】:Are there any good tools for static code analysis in typescript? [closed]打字稿中有什么好的静态代码分析工具吗? [关闭]
【发布时间】:2015-01-22 05:14:06
【问题描述】:

我们一直在寻找衡量 TypeScript 代码质量的好工具。我们主要对测量圈复杂度、LCOM、不稳定性和类似指标感兴趣。可视化模块之间依赖关系的工具也不错。

一种“NDepend for typescript”会很棒 - 但我们找不到类似的东西......

任何人都可以为我们指明提供此类功能的任何工具的方向吗?

【问题讨论】:

    标签: dependencies typescript static-analysis metrics code-metrics


    【解决方案1】:

    我们一直在寻找衡量 TypeScript 代码质量的好工具

    TypeScript 与 JSHint(Steve 提到)类似,有 TSLint https://github.com/palantir/tslint(带有 grunt 插件 https://github.com/palantir/grunt-tslint

    基于 TypeScript 语言服务ASTWalker 机制创建自己的规则并不复杂,例如缩进规则:https://github.com/palantir/tslint/blob/master/src/rules/indentRule.ts

    【讨论】:

      【解决方案2】:

      为了可视化 TypeScript 模块依赖关系,您可以使用 JavaScript 模块依赖关系可视化工具:

      • Kenneth Auchenberg 的dependo。使用交互式图表创建单文件 SPA
      • Patrik Henningsson 的MaDGe。使用Graphviz 创建报告和静态图像
      • ...

      【讨论】:

        【解决方案3】:

        如果您要使用现有的 JavaScript 分析器,例如 JSHint(或任何类似的替代方案,如果它没有您想要的所有指标),那么您的 TypeScript 代码的结果不会有太大的错误。 TypeScript 很少进行代码转换,因此您会发现以下方面的细微差别:

        • 如果您使用继承,您的程序中会多出一种方法。
        • 如果您使用剩余参数,则会将到数组的映射添加到每个带有剩余参数的方法中。
        • 枚举生成更复杂的 JavaScript 代码。

        但这些都不会大大影响分析。

        来自 JSHint 站点的示例指标:

        指标

        这个文件只有一个函数。

        不需要参数。

        这个函数只包含一个语句。

        此函数的圈复杂度数为 1。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-14
          • 1970-01-01
          • 2010-09-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-12
          相关资源
          最近更新 更多