Je viens d'installer PMD pour analyser mon projet Java. Très bel outil, fortement recommandé. Quoi qu'il en soit, je me suis quelques erreurs en disant:Méthode vide dans une classe abstraite
« Une méthode vide dans une classe abstraite doit être abstraite au lieu »
Je vérifié la documentation PMD et l'explication dit:
en tant que développeur peut se baser sur cette implémentation vide plutôt que de coder l'implémentation appropriée
Donc, je pense que je comprends la raison derrière cette erreur de style de code, mais considérez le scénario suivant: J'ai une classe abstraite appelée Entité. Cette classe a une méthode booléenne avec l'implémentation par défaut. (contrôle s'il faut supprimer ses entités liées lors de la suppression). Seules quelques-unes des classes dérivées remplacent ce comportement par défaut à true. Dois-je supprimer l'implémentation par défaut et forcer toutes les classes dérivées à déclarer leur comportement? Pensez-vous vraiment que ce modèle est une mauvaise pratique?
Clarification: PMD traite une méthode avec une seule déclaration comme vide.
, PMD traite une méthode qui renvoie uniquement booléen ou NULL comme trop vide – LiorH