Почему основное приложение Spring Boot всегда запускает HideUtilityClassConstructorCheck PMD?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему основное приложение Spring Boot всегда запускает HideUtilityClassConstructorCheck PMD?

Сообщение Anonymous »

Стандартное приложение Spring Boot имеет некоторый основной файл класса метода, скажем SampleApplication.java, который выглядит следующим образом:

Код: Выделить всё

@SpringBootApplication
@RestController
public class SampleApplication {

public static void main(final String[] args) {
SpringApplication.run(SampleApplication.class, args);
}

}
Но статический анализ PMD помечает это как ошибку (HideUtilityClassConstructorCheck):


Служебные классы
не должны иметь общедоступного конструктора или конструктора по умолчанию.

Гарантирует, что служебные классы (классы, которые содержат только статические
методы или поля в своих API) не имеют общедоступного конструктора.

Обоснование: создание экземпляров служебных классов не имеет смысла. Следовательно
конструкторы должны быть либо частными, либо (если вы хотите разрешить
создание подклассов) защищенными. Распространенной ошибкой является забывание скрыть
конструктор по умолчанию.

Если вы делаете конструктор защищенным, вы можете рассмотреть
следующий метод реализации конструктора. чтобы запретить
создание экземпляров подклассов:

public class StringUtils // не является окончательным, чтобы разрешить создание подклассов { protected
StringUtils() { // предотвращает вызовы из подкласса выбросить новое
UnsupportedOperationException(); } public static int count(char c,
String s) { // ... }


Почему это ? Должен ли я подавлять эту ошибку PMD?

Подробнее здесь: https://stackoverflow.com/questions/372 ... lityclassc

Вернуться в «JAVA»