Подтвердить что ты не робот

Какое текущее состояние инструментов статического анализа для Scala?

Я видел вопрос StackOverflow относительно статического анализа в Scala, но на тот ответ был дан ответ в 2009 году. Как вы знаете, инструменты Scala меняются очень быстро.

Мне было интересно узнать, может ли кто-нибудь, знакомый с текущим состоянием инструментов статического анализа в Scala, сказать, есть ли эквивалент Findbugs для Scala. Я обнаружил, что Findbugs выдает много ненужных предупреждений для Scala, вероятно, связано с тем, как одноточечный компилятор "object" компилируется в байт-код из-за черт и т.д. Я слышал, что Scalastyle - это не только версия w64 для Java CheckStyle, что он также включает в себя биты Findbugs и PMD. Но если он не реализует все Findbugs и/или PMD, есть ли другие инструменты, которые его дополняют? Или, Scalaстиль хорош не только для проверки стиля, но полезно ли улучшить качество кода?

Кроме того, как насчет интеграции Scala, скажем, сонара? Является ли плагин Scala Sonar (который работает с Scalastyle) надежным?

4b9b3361

Ответ 1

Ниже приведен обновленный ответ на август 2014 года для некоторых, которые нацелены или хорошо работают с Scala.

Лично я думаю, что JVM или Java имеют слишком много ложных срабатываний или имеют проверки, которые нацелены в основном на определенные Java классы. Например, поскольку в Scala мы не склонны использовать сборники Java, все проверки на основе коллекций findbugs не нужны. Другим примером является проверка использования статических полей, которые не имеют отношения к Scala.

Ответ 2

Можно ли считать wartremover альтернативой? Кроме того, параметры командной строки -Xlint и -Ywarn-adapted-args командной строки могут помочь поймать определенные типы ошибок.

Ответ 5

Почему вам не нравится использовать очень мощный компилятор Scalac? Например. он имеет некоторые полезные параметры, например.

  • -unchecked
  • -deprecation
  • -feature

... и т.д..