是否有任何工具,用于执行静态分析的斯卡拉代码、类似置的代和PMD Java或夹板C/C++?我知道,置的代工作上的码产生的汇编爪哇,我好奇它怎么会工作上的卡拉.

谷歌搜索(27日至2009年)揭示出的很少。

谷歌搜索(01月2010年)揭示这个问题。

有帮助吗?

解决方案

FindBugs的分析,不管生成它们的工具JVM字节代码。我已经使用的FindBugs检查的.class由斯卡拉生成的文件试过。不幸的是,FindBugs的产生了许多的警告,即使对于琐碎Scala程序。

其他提示

现在有Scalastyle这是不确实的Checkstyle Java的工作。这不仅包括格式化检查,但也有一些检查缺陷的公知的源,例如,它实现的hashCode(),但不等于一个类。

目前,全球约有40次检查,但我们正在增加他们所有的时间。

有关的更多信息,请参阅 www.scalastyle.org

还有一些工作要在这个方向前进。一些链接:

还有一个讨论在拉斯卡拉的邮件列表中,存档的可用 在这里,.

这里是一个更新的答案,因为2014年八月,为一些旨或工作以及与卡拉.

我个人认为JVM或Java的结束了太多的误报,或者已经检查,主要目的是,Java具体课程。例如,由于在卡拉我们不倾向于使用Java集合,所有的置的代收集基于检查是没有必要的。另一个例子是,检查使用的静态领域无关在卡拉.

FindBugs的和基于字节码会的工作,在这个意义上,他们会发现在你的代码错误以外的工具。不幸的是,基于字节码的方法已被调兑的javac编译器的输出,这意味着他们很可能会产生非常高的假阳性率,和小姐基本问题,因为Scala将生产比javac编译器,不同的成语。

我具有很多乐趣Codacy(例如的https:// WWW。 codacy.com/app/hejfelix/Frase/dashboard )开源项目

有一个SBT插件用于PMD复制粘贴检测器CPD。

https://github.com/sbt/cpd4sbt

阶复制粘贴检测器的基础上,AST。寻找拷贝粘贴子树/ AST的,并通知它。

它插件为SBT。

https://github.com/ajtkulov/scala-cpd

我不知道很多关于斯卡拉但如果是兼容Java Klocwork的单品可能会奏效。您可以在这里找到 Klocwork的独奏

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top