Jaki jest powód tych zasad PMD?

DataflowAnomalyAnalysis: Znaleziono anomalię „DD” dla zmiennej „zmienna” (linie „n1” - „n2”).

DataflowAnomalyAnalysis: Znaleziono anomalię „DU” dla zmiennej „zmienna” (linie „n1” - „n2”).

DD i DU brzmią znajomo ... Chcę powiedzieć na przykład o testach i analizach związanych z najsłabszymi warunkami przed i po, ale nie pamiętam szczegółów.

NullAssignment: Przypisanie obiektu do wartości null jest zapachem kodu. Rozważ refaktoryzację.

Nie ustawiałbym obiektunull pomóc w zbieraniu śmieci, jeśli obiekt jest obiektem lokalnym (nieużywanym poza metodą)? Czy to mit?

MethodArgumentCouldBeFinal: Parametr „param” nie jest przypisany i może zostać uznany za ostateczny

LocalVariableCouldBeFinal: Zmienna lokalna „zmienna” może zostać uznana za ostateczną

Czy są jakieś korzyści z używaniafinal parametry i zmienne?

LooseCoupling: Unikaj stosowania typów implementacji, takich jak „LinkedList”; zamiast tego użyj interfejsu

Jeśli wiem, że szczególnie potrzebujęLinkedList, dlaczego nie miałbym użyć jednego, aby moje intencje były wyraźnie widoczne dla przyszłych programistów? Jedną rzeczą jest zwrócenie klasy, która jest najwyższa na ścieżce klasy, która ma sens, ale dlaczego nie miałbym deklarować, że moje zmienne mają najściślejszy sens?

AvoidSynchronizedAtMethodLevel: Użyj poziomu bloku zamiast synchronizacji na poziomie metody

Jakie zalety ma synchronizacja na poziomie bloku w porównaniu z synchronizacją na poziomie metody?

AvoidUsingShortType: Nie używaj krótkiego typu

Moimi pierwszymi językami były C i C ++, ale w świecie Java, dlaczego nie powinienem używać typu najlepiej opisującego moje dane?

questionAnswers(6)

yourAnswerToTheQuestion