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

DataflowAnomalyAnalysis: обнаружена 'DD' -аномалия для переменной 'variable' (строки 'n1' - 'n2').

DataflowAnomalyAnalysis: обнаружена аномалия DU для переменной 'variable' (строки 'n1' - 'n2').

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

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

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

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

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

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

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

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

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

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

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

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

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

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