J'ai un grand projet Eclipse dans lequel il existe plusieurs classes qui, bien qu'elles ne soient plus utilisées nulle part, n'ont jamais été marquées @Deprecated.
Comment puis-je trouver facilement tous ces éléments ?
J'ai un grand projet Eclipse dans lequel il existe plusieurs classes qui, bien qu'elles ne soient plus utilisées nulle part, n'ont jamais été marquées @Deprecated.
Comment puis-je trouver facilement tous ces éléments ?
J'aime aussi utiliser Détecteur UCD :
UCDetector (Unecessary Code Detector) est un outil plug-in open source pour eclipse qui permet de trouver le code java public inutile (mort). Il essaie également de rendre le code final, protégé ou privé.
Bonus : il peut aussi trouver les dépendances cycliques entre les classes
(également un plusieurs autres outils -- y compris Findbugs -- sait comment faire cela aussi)
Caveat : Cid mentionne dans les commentaires :
UCDetector ne fonctionnera pas s'il existe des implémentations d'interfaces qui ne seront connues qu'au moment de l'exécution.
Il marque incorrectement les classes d'implémentation comme inutilisées.
Mise à jour 2017 : l'analyse statique du code a bien évolué en 8 ans.
Utilisation de SonarLint pour Eclipse vous pouvez utiliser la dernière version du Plugin SonarJava 4.6 pour analyser votre code.
Elle trouver le code mort .
Cela fonctionne-t-il pour les projets Android ? J'ai téléchargé, installé, et le menu UCDetector est introuvable :(
@VonC - UCDetector ne fonctionnera pas s'il existe des implémentations d'interfaces qui ne seront connues qu'au moment de l'exécution. Il marque à tort les classes d'implémentation comme inutilisées :(
ProGuard peut être utilisé pour imprimer un rapport des classes/méthodes inutilisées. Cependant, il est difficile de lui fournir tous les jars dépendants.
Ces options énumèrent les classes, champs et 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[]);
}
J'ai eu la même idée ! Avez-vous trouvé un moyen agréable de spécifier toutes les dépendances d'un projet Maven ?
@Zero3 en option, vous pouvez utiliser le plugin de dépendance maven pour lister toutes les dépendances ou les extraire dans un répertoire local puis exécuter Windows ou linux script qui listera les jars dans le répertoire et générera la chaîne de paramètres de la liste des jars et exécutera proguard.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Duplicata possible de Comment trouver le code inutilisé ou mort dans les projets java ?