J'ai un grand projet Eclipse dans lequel il existe plusieurs classes qui, bien qu'elles aient cessé d'être utilisées n'importe où, n'ont jamais été marquées @Deprecated.
Comment puis-je trouver facilement tout cela?
J'aime aussi utiliser UCDetector :
UCDetector (détecteur de code nécessaire) est un outil de plug-in Eclipse Open Source permettant de rechercher le code Java public non nécessaire (mort). Il essaie également de rendre le code final, protégé ou privé.
Bonus: il peut aussi trouver des dépendances cycliques entre les classes
(aussi un nombre d'autres outils } - y compris Findbugs - sait comment faire cela aussi.
Caveat: Cid mentions dans les commentaires :
UCDetector ne fonctionnera pas s'il existe des implémentations d'interface qui ne seront connues qu'au moment de l'exécution.
Cela marque incorrectement les classes d'implémentation comme inutilisées.
Mise à jour 2017: l'analyse de code statique a beaucoup évolué en 8 ans.
En utilisant SonarLint pour Eclipse , vous pouvez utiliser le dernier plug-in SonarJava 4.6 pour analyser votre code.
Il va trouver le code mort .
ProGuard peut être utilisé pour imprimer un rapport des classes/méthodes inutilisées. C'est pénible de lui fournir tous les pots dépendants.
Ces options répertorient les classes, les champs et les méthodes inutilisés dans l'application mypackage.MyApplication:
-injars in.jar
-libraryjars <Java.home>/lib/rt.jar
-dontoptimize
-dontobfuscate
-dontpreverify
-printusage
-keep public class mypackage.MyApplication {
public static void main(Java.lang.String[]);
}
Il suffit d'utiliser Analyser | Inspecter le code lorsque l'inspection appropriée est activée (déclaration non utilisée dans le groupe de redondance de la déclaration).
En utilisant IntelliJ 11 CE, vous pouvez maintenant "Analyser | Exécuter l'inspection par nom ... | Déclaration non utilisée"