67

Scala での静的解析に関する StackOverflow の質問を見ましたが、その回答は 2009 年にありました。ご存知のように、Scala ツールは急速に変化しています。

したがって、Scala の静的解析ツールの現状に精通している誰かが、たとえば、Scala に相当する Findbugs があるかどうかを教えてくれるかどうか疑問に思っていました。Findbugs が Scala に対して多くの不要な警告を発行することがわかりました。これはおそらく、「オブジェクト」シングルトンが特性などのためにバイトコードにコンパイルする方法に関係している可能性があります。Scalastyle は Java の CheckStyle の Scala バージョンであるだけでなく、 Findbugs と PMD のビットが含まれています。しかし、Findbugs や PMD のすべてを実装していない場合、それを補う他のツールはありますか? それとも、Scalastyle はスタイル チェックだけでなく、コード品質の向上にも適していますか?

また、Sonar などとの Scala の統合についてはどうでしょうか。Scala Sonar プラグイン (Scalastyle で動作) は信頼できますか?

4

5 に答える 5

63

これは、2014 年 8 月現在、Scala を対象としているか、うまく機能するものについての更新された回答です。

個人的には、JVM または Java のものは、非常に多くの誤検知が発生するか、主に Java 固有のクラスを対象とした検査が行われると思います。たとえば、Scala では Java コレクションを使用しない傾向があるため、すべての findbugs コレクション ベースのインスペクションは必要ありません。もう 1 つの例は、Scala では無関係な静的フィールドの使用に関するインスペクションです。

于 2014-08-04T11:00:27.140 に答える
8

wartremoverは代替としてカウントされますか? また-Xlint-Ywarn-adapted-argsscalac のコマンド ライン パラメーターは、特定の種類のバグの検出に役立つ場合があります。

于 2014-03-24T20:12:49.447 に答える
2

Codacy によると、ツールは次のとおりです (2015 年 10 月まで更新)。

  1. スカラスタイル
  2. いぼ除去剤
  3. 従う
  4. Scapegoat - sbt-scapegoat は Scala 2.11.x+ で動作します

出典: Scala Static Analysis ツールに関する Codacy ブログ

于 2016-10-21T09:51:57.447 に答える
0

非常に強力な Scalac コンパイラを使用したくないのはなぜですか? たとえば、いくつかの便利なオプションがあります。

  • -未チェック
  • -非推奨
  • -特徴

...等。

于 2014-03-24T18:57:14.190 に答える