Я использую Sonarlint V3.5.0 в Spring Tool Suite. Я получаю предупреждение squid:S1186, когда у меня есть конструктор по умолчанию внутри кода, например:
public class TestClass{
public TestClass() {}
}
Это немного раздражает, когда это предупреждение появляется постоянно. Как я обнаружил, SonarSource решил это как ошибку в версии 3.5, но последняя версия Sonarlint все еще выдает это предупреждение.
Как я могу решить эту проблему с помощью Sonarlint? Спасибо.




Вы не можете удалить проверку правил с помощью SonarLint самостоятельно. Вы можете игнорировать нарушающее правило, используя сервер SonarQube, и подключить свой SonarLint к серверу SQ, чтобы игнорировать правило, как предлагается здесь.
Как указано в OP, у команды SonarSource возникли проблемы с вариант использования, описанный в вопросе.
Пожалуйста, примите во внимание следующее, прежде чем думать о игнорировании правила:
Проблема кальмар: S1186 является хорошей практикой - наличие пустой области видимости вообще в нашем коде, а не только в конструкторе это кодовый антипаттерн.
В вашем случае явно реализован конструктор по умолчанию, который, по-видимому, требуется для используемого вами набора инструментов Sprint (такой вариант использования хорошо обсуждается здесь).
Учитывая тот факт, что пустая область действительно является анти-шаблоном, я бы предложил добавить комментарий внутри пустой области конструктора, объясняющий, что явный общедоступный конструктор по умолчанию требуется из-за использования STS.
Это, очевидно, решит проблему, поднятую SonarLint.
Если у вас есть много экземпляров автоматически сгенерированных пустых конструкторов по умолчанию - вы должны иметь возможность использовать свои IDE для поиска / замены решения с регулярным выражением, чтобы заменить пустые области областями, содержащими комментарий, объясняющий, почему это так.
Спасибо за Ваш ответ. Я попытаюсь использовать сервер SQ, чтобы решить эту проблему.