Sonarlint [squid: S1186]: метод не должен быть пустым в конструкторе в Spring Tool Suite - PullRequest
0 голосов
/ 15 мая 2018

Я использую Sonarlint V3.5.0 в Spring Tool Suite. Я получаю предупреждение squid:S1186, когда внутри кода есть конструктор по умолчанию:

public class TestClass{
    public TestClass() {}
}

Немного раздражает иметь это предупреждение постоянно. Как я обнаружил, SonarSource решил это как ошибку в версии 3.5, но новейшая Sonarlint все еще дает мне это предупреждение.

Как я могу решить эту проблему с помощью Sonarlint? Благодарю.

1 Ответ

0 голосов
/ 24 мая 2018

Вы не можете удалить проверку правила с помощью SonarLint. Вы можете игнорировать нарушающее правило, используя сервер SonarQube, и подключить SonarLint к серверу SQ, чтобы игнорировать правило, как предложено здесь .

Как указано в OP, у команды SonarSource есть проблемы с сценарием использования, описанным в вопросе .

Пожалуйста, подумайте о ПРЕЖДЕ, чем подумать об игнорировании правила:

Проблема squid: S1186 - это хорошая практика: в общем случае в нашем коде есть пустая область видимости, а не только в конструкторе, - это анти-шаблон кода .

В вашем случае конструктор по умолчанию был реализован в явном виде, что, по-видимому, требуется для используемого вами набора инструментов Sprint (этот вариант использования хорошо обсуждается здесь ).

Учитывая тот факт, что пустая область действительно является антишаблоном, я бы предложил добавить комментарий внутри пустой области конструктора, объясняющий, что явный общедоступный конструктор по умолчанию требуется из-за использования STS.

Это, очевидно, решит проблему, поднятую SonarLint.

Если у вас есть много экземпляров автоматически сгенерированных пустых конструкторов по умолчанию - вы должны иметь возможность использовать решение IDE для поиска / замены с регулярным выражением, чтобы заменить пустые области областями, содержащими комментарий, объясняющий, почему это так.

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