Spotbugs в одном файле? - PullRequest
       17

Spotbugs в одном файле?

0 голосов
/ 28 сентября 2018

Я использую плагин Spotbugs в Eclipse IDE.Я могу запустить Spotbugs для всего проекта, и у меня сложилось впечатление, что инструмент должен создать проект для представления отчета об анализе.

Но в документации говорится, что это инструмент статического анализа.

Итак, мне было любопытно, если для этого потребуется построить проект, то можем ли мы назвать его инструментом статического анализа?И если для сборки проекта не требуется, можем ли мы запускать Spotbugs для отдельных файлов .java?

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Смысл статического анализа заключается в том, что он анализирует файлы вашего проекта «в состоянии покоя», а не отслеживает работающее приложение.https://en.wikipedia.org/wiki/Static_program_analysis

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

Нельзя правильно запустить егоодин файл, даже если вы скомпилировали этот файл, потому что есть детекторы, которые учитывают несколько файлов, например, обнаружение, когда вы пытаетесь передать null методу, параметры которого помечены как ненулевые, или когда вы определилиметод как public и затем никогда не вызывал его извне класса.

0 голосов
/ 28 сентября 2018

Да, поскольку SpotBugs анализирует байт-код (файлы .class), вы должны сначала построить проект (по крайней мере, часть, которую вы хотите проанализировать).

После этого вы можете анализировать только один файл, дляпример в IntelliJ IDEA (все еще плагин FindBugs, но SpotBugs может делать все, что мог FindBugs, та же самая база кода):

IDEA analyze single file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...