Мы используем Sonar для анализа кода. Для классов что-то вроде этого
public class Car {
private Engine engine;
// getter setter for engine
}
мы получаем такие ошибки, как
Non-abstract classes and enums with non-static, private members should explicitly initialize those members, either in a constructor or with a default value.
Мы обычно сериализуем наши объекты с Джексоном, поэтому конструктор не используется нигде в нашем коде. Так почему же мне все еще нужно написать конструктор? Имеет ли смысл отключить это правило? Ссылка на правило
Другое дело, если я изменю код, как показано ниже
private Engine engine = null;
Ошибка не выдается. По умолчанию все ссылки на Java присваиваются с нулевым значением. Эта линия обманывает сонар? Это ошибка в сонаре?