Ho appena installato PMD per analizzare il mio progetto Java. Strumento davvero bello, altamente raccomandato. In ogni modo, ho avuto un paio di errori da dire:Metodo vuoto in una classe astratta
"un metodo vuoto in una classe astratta dovrebbe essere astratto invece"
ho verificato la documentazione PMD e la spiegazione dice:
in quanto sviluppatore può affidarsi a questa implementazione vuota anziché codificare quella appropriata
Quindi penso di aver compreso il motivo dietro questo errore di stile del codice, ma consideriamo il seguente scenario: Ho una classe astratta chiamata Entity. Questa classe ha un metodo booleano con implementazione predefinita. (controlla se eliminare le relative entità correlate dopo la cancellazione). Solo alcune delle classi derivate sovrascrivono questo comportamento predefinito a true.
Devo rimuovere l'implementazione predefinita e forzare tutte le classi derivate a dichiarare il loro comportamento? Pensi davvero che questo modello sia una cattiva pratica?
Chiarimento: PMD tratta un metodo con estratto conto singolo come vuoto.
bene, PMD tratta di un metodo che restituisce solo booleano o null come vuoto troppo – LiorH