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

При использовании Eclipse с FindBugs вы можете пометить ошибку как ошибку и удалить ее из списка ошибок?

FindBugs обнаружил потенциальную ошибку в моем коде. Но это не ошибка.

Можно ли отметить это событие как "не ошибка" И удалить его из списка ошибок?

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

Например. Класс реализует сопоставимый интерфейс. он имеет метод compareTo. Однако я не переопределил метод equals.

FindBugs не нравится это, так как в JavaDocs указано, что рекомендуется

(x.compareTo(y)==0) == (x.equals(y))

Хотя в моем случае указанное условие является и всегда будет истинным.

4b9b3361

Ответ 1

Вместо использования фильтров вы также можете использовать аннотацию SuppressWarnings. Вы должны использовать аннотацию из пакета findbugs, что означает, что вам нужен импорт или используйте полное имя. Это связано с тем, что кроме SuppressWarnings из JDK у него сохраняется "класс", что необходимо, потому что findbugs работает на скомпилированном байт-коде вместо исходный код.

Пример:

@edu.umd.cs.findbugs.annotations.SuppressWarnings(
    value="EQ_COMPARETO_USE_OBJECT_EQUALS", 
    justification="because I know better")

Есть один угловой случай, когда вы, вероятно, не должны использовать аннотацию: если ваш код является кодом библиотеки, который заканчивается в банке, который может использоваться другими проектами и, вы все еще находитесь на Java5. Причиной этого является bug в JDK, который приводит к сбою javac, если аннотация отсутствует в пути к классам.

Ответ 2

Возможно, добавив filter в качестве параметра findbugs

Статьи соответствия могут соответствовать только информации, которая фактически содержится в экземплярах ошибок

<Match>
   <Class name="com.foobar.MyClass" />
   <Method name="myMethod" />
   <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
</Match>

Ответ 3

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

что делать, если код изменяется после времени?