В чем причина этих правил PMD?

DataflowAnomalyAnalysis: Found 'DD»-номая переменнаяпеременная» (строки 'n1'-»n2').

DataflowAnomalyAnalysis: Found 'DU»-номая переменнаяпеременная» (строки 'n1'-»n2').

DD и DU звучат знакомо ... Я хочу сказать о таких вещах, как тестирование и анализ, относящихся к самым слабым условиям до и после, но я нене помню специфику.

NullAssignment: присвоение объекта нулю - это запах кода. Рассмотрим рефакторинг.

Wouldn»т установка объекта наnull помочь в сборке мусора, если объект является локальным объектом (не используется вне метода)? Или это миф?

MethodArgumentCouldBeFinal: Параметр 'пары» не назначен и может быть объявлен окончательным

LocalVariableCouldBeFinal: локальная переменная 'переменная» может быть объявлено окончательным

Есть ли преимущества использованияfinal параметры и переменные?

LooseCoupling: избегайте использования таких типов реализации, как 'LinkedList»; используйте интерфейс вместо

Если я знаю, что мне конкретно нужноLinkedListПочему бы мне не использовать его, чтобы четко изложить свои намерения будущим разработчикам? Это'Одна вещь, чтобы вернуть класс, которыйНаивысший путь класса, который имеет смысл, но почему бы мне не объявить мои переменные в самом строгом смысле?

AvoidSynchronizedAtMethodLevel: использовать уровень блока, а не синхронизацию на уровне метода

Какие преимущества имеет синхронизация на уровне блоков по сравнению с синхронизацией на уровне методов?

AvoidUsingShortType: не используйте короткий тип

Моими первыми языками были C и C ++, но в мире Java, почему я не должен использовать тип, который лучше всего описывает мои данные?

Ответы на вопрос(6)

Ваш ответ на вопрос