В чем причина этих правил 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, почему я не должен использовать тип, который лучше всего описывает мои данные?