Есть простой командной строки в Java Линтер? [закрытый]


Я пытался найти Java linter, способный работать на CLI, который отделен от Eclipse, который я могу вызвать в качестве крючка фиксации для git или из нашего автоматизированного сценария сборки. Существует ли такая вещь?

в идеале он должен проверить за неиспользованные импорта и переменные, которые в соответствии с указаниями стиля, исключения используются должным образом и т. д. Хотя некоторые подмножества этих функций были бы лучше, чем то, что мы имеем сейчас - ничего!

3 51

3 ответа:

  • Findbugs для поиска существующих ошибок. ОЧЕНЬ ХОРОШО!
  • PMD для нахождения паттернов, которые могут привести к ошибкам (например, неиспользуемые переменные)
  • Checkstyle для обеспечения соблюдения стандартов кодирования и соглашений (например, пробелы, Javadoc)
  • Ошибка крючки прямо в шаг компиляции вашего приложения

все эти инструменты имеют некоторые перекрывающиеся правила. Есть много других похожие инструменты, но это самые популярные и поддерживаемые.

кроме того, проверьте эхолот, который сочетает в себе многие другие инструменты и обеспечивает хороший вид для него тоже.

правила из Checkstyle, FindBugs, PMD, Clirr, fb-contrib.


Не знаю точно, как добавить его в крюк после фиксации, но http://docs.codehaus.org/display/SONAR/Analyzing+с+Maven может быть хорошей отправной точкой (особенно если вы используете maven).

может быть, даже рассмотреть возможность использования одного из подходы, перечисленные в http://docs.codehaus.org/display/SONAR/Continuous + интеграция поскольку кажется, что вы, возможно, пытаетесь найти лучший инструмент для всей своей команды ("хотя некоторые подмножества этих функций были бы лучше, что мы теперь - ничего!"

Это именно то, над чем я работаю: инструмент CLI-friendly, который будет использоваться для проверки качества кода Java. Он также имеет интерактивную модальность. Вы можете выполнять одиночные запросы (чтобы проверить наличие одиночных предупреждений) или все запросы вместе.

инструменты находятся на ранней стадии, но я работаю над этим почти каждый день. Он доступен здесь:

https://github.com/ftomassetti/effectivejava

пожалуйста, дайте мне знать, что вы думаете об этом и чувствуете свободно задавать вопросы.