JavaScript源代码分析器

JavaScript源代码分析器,javascript,code-analysis,Javascript,Code Analysis,有谁知道一个好的、可扩展的、可以检查JavaScript文件的源代码分析器吗 在历史上一直是这方面的主要工具,但现在还有几个工具: -一种据说不那么固执己见的JSLint -一个可以检查是否有裂缝的过梁 -更灵活的工具,但更新,但尚未稳定 我发现JSLint有助于纠正许多常见错误等;然而,我希望能找到一些东西,我可以添加自己的规则,这样可以帮助自动化一些我的公司希望在JavaScript中实现的编码标准 我需要进一步研究它的可扩展性模型。维基百科上有一些支持JavaScript的工具,你可以

有谁知道一个好的、可扩展的、可以检查JavaScript文件的源代码分析器吗

在历史上一直是这方面的主要工具,但现在还有几个工具:

  • -一种据说不那么固执己见的JSLint
  • -一个可以检查是否有裂缝的过梁
  • -更灵活的工具,但更新,但尚未稳定

    • 我发现JSLint有助于纠正许多常见错误等;然而,我希望能找到一些东西,我可以添加自己的规则,这样可以帮助自动化一些我的公司希望在JavaScript中实现的编码标准


      我需要进一步研究它的可扩展性模型。

      维基百科上有一些支持JavaScript的工具,你可以看看上面提到的任何工具是否有用。雅虎开发者网络(Yahoo!Developer Network)有很多好的工具,还有很多有用的组件


      我自己一直都在使用JSLint,这是我唯一尝试过的JS分析工具。我越来越喜欢JavaScript,但好的工具仍然是个问题(

      我使用Aptana进行JavaScript文件分析。它捕获了很多错误(如果条件为单=)。它还描述了类布局。我相信它内嵌了一个jslint实现。

      为了使这个问题保持最新,有一个称为jslint的分支。可以找到创建JSHint的原因的解释,但总结一下:

      JSHint是JSLint的分支,JSLint是一种工具 由道格拉斯编写和维护 克罗克福德。杰斯林特为我服务了好几年 很长一段时间,但在过去的几年里 几个月来,情况变得令人不安 固执己见,对你的朋友怀有敌意 代码。它正在从 帮助开发人员 防止bug到确保 你像道格拉斯一样编写代码 克罗克福德


      如果你还没有找到它,你应该看看Google Closure Compiler。编译你的JavaScript并在代码中找到错误。

      刚刚在codeplex上发布。它是一个分析JavaScript文件之间依赖关系的工具。你甚至可以定义允许的依赖关系,并且
      JSAnalysis
      检查是否定义了规则是否得到满足。这允许跟踪
      javascript
      依赖关系,即使在大型项目中也是如此,并且有一个干净的体系结构


      jsanalysis
      可以作为命令行工具执行,也可以通过
      visualstudio层图
      进行配置。它也很容易集成到构建中。通过门控签入,您可以控制依赖项。

      存在一个名为ECMAScript多用途分析解析基础结构(esprima)的解析器位于,提供了一些可用于某些分析的示例工具


      我试用了ESlint,发现它很好。你也可以在那里添加自定义规则。这是github的报告:

      除了JSLint、JSHint、ESlint、Plato、Google Closure Linter之外,还有一个名为Esprima的工具。 以下是它的链接:

      此外,这是工具Esprima的github链接:


      在试用Google Closure Linter for Windows时,我遇到了安装问题。但是,它在网页上确实提到,它对Windows的支持是实验性的。所有其他工具都很容易使用。

      就分析而言,你想要什么?基本上是典型错误和兼容性问题分析,还有检查命名的能力约定和风格。你能为另一种语言提供一个示例代码分析器吗?我想看到的一个示例类似于MS的StyleCop或FXCop,但用于JavaScript而不是C#或MSIL字节码。在使用JSHint和JSLint多年后,我将答案移到了JSHint。在我看来,JSLint太固执己见了,而且特里克。我也想看到更强大的东西,但我还没有发现任何东西……哈,否决票:-)是你吗,道格拉斯?虽然这是一个老问题,但我把答案移到了JSHint。我尊重JSLint和JSHint;然而,JSLint对我来说太固执己见和严格了。JSHint允许我喜欢的样式自由(即逗号优先),并且在验证方面仍然提供了很多功能。看起来很有趣。我唯一不喜欢快速查看的是它需要.Net(和Visual Studio?)。我不知道是否有人可以用它来分析Python、Ruby、Java等语言中的JS。不管怎样,它看起来确实很有趣,必须检查一下。谢谢你添加答案。