打字稿中是否有用于静态代码分析的好工具?

Mat*_*erg 15 dependencies metrics static-analysis code-metrics typescript

我们一直在寻找测量TypeScript代码质量的好工具.主要是,我们感兴趣的是测量Cyclomatic Complexity,LCOM,不稳定性和类似指标.用于可视化模块之间的依赖关系的工具也很不错.

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

有人能指出我们提供某些此类功能的工具的方向吗?

bas*_*rat 5

我们一直在寻找衡量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


Fen*_*ton 1

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

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

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

来自 JSHint 站点的示例指标:

指标

该文件中只有一个函数。

它不需要争论。

该函数仅包含一条语句。

该函数的循环复杂度为 1。