Я рекомендую вам попытаться подавить определенные предупреждения с помощью @SuppressWarnings("squid:S2078")
.
Для подавления нескольких предупреждений вы можете сделать это следующим образом @SuppressWarnings({"squid:S2078", "squid:S2076"})
Существует также //NOSONAR
комментарий, который говорит SonarQube игнорировать все ошибки для конкретной строки.
Наконец, если у вас есть соответствующие права для пользовательского интерфейса, вы можете выдать флаг как ложное срабатывание непосредственно из интерфейса.
Причина, по которой я рекомендую скрыть определенные предупреждения, состоит в том, что лучше блокировать конкретную проблему, а не использовать //NOSONAR
и рисковать ошибкой сонара, возникающей в вашем коде случайно.
Вы можете прочитать больше об этом в FAQ
Примечание: Габор Бакос указывает на старый FAQ, который сейчас 404. Это первый результат Google для меня, поэтому я хочу помочь кому-то еще, кто может иметь тот же вопрос
Редактировать: 30.06.16 SonarQube теперь называется SonarLint
Если вам интересно, как найти номер кальмара. Просто нажмите на сообщение Sonar (ex. Remove this method to simply inherit it.
), И проблема Sonar расширится.
В левом нижнем углу он будет иметь номер кальмара (например, squid:S1185
ремонтопригодность> Понятность)
Так что вы можете подавить его @SuppressWarnings("squid:S1185")
@SuppressFBWarnings
(добавлено, чтобы избежать конфликтовjava.lang.SuppressWarnings
), а также игнорирует его.