打字稿中有啥好的静态代码分析工具吗? [关闭]

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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。

【讨论】:

以上是关于打字稿中有啥好的静态代码分析工具吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

针对c语言的程序,有啥好的测试工具

当源代码不可用时,有啥好的分析工具可以使用?

有啥好的 C++ 项目构建工具可以替代 make 吗? [关闭]

.NET 有啥好的分布式代理/服务模型吗? [关闭]

PowerMock 有啥好的替代品吗?

WebSVN 有啥好的替代品吗? [关闭]