Il y a une inspection "Déclaration non utilisée" qui peut trouver tout le code inutilisé dans Intellij Idea. (voir cette question ) Mais je veux trouver toutes les classes inutilisées, pas les méthodes, les variables etc. Seulement les classes. (il est difficile de ne trouver que des classes dans la liste de 3000 résultats). Comment puis-je faire ça?
java
intellij-idea
dead-code
Cerise
la source
la source
Réponses:
Les paramètres s'afficheront
Paramètres se ferme
La recherche commence
la source
Je ne pense pas que ce soit faisable. Je soupçonne que cette fonctionnalité est intentionnellement laissée en dehors des IDE car elle ne peut pas être utilisée en toute sécurité comme le peuvent les autres refactorisations "supprimer XXX inutilisées".
Les déclarations inutilisées recherchées par IDEA (et AFAIK, NetBeans) concernent des membres privés et des variables locales: des choses qui ne sont pas accessibles, même dynamiquement, depuis l'extérieur de cette classe ou de cette portée. (Eh bien, au moins sans faire des choses avec Reflection ou le piratage JVM que vous n'êtes pas censé faire.) Peu importe ce que le code extérieur fait avec votre bibliothèque, cela ne provoquera pas l'utilisation de ces choses, car leur portée est limitée et le IDE peut tout voir. Le compilateur peut déterminer cela en examinant uniquement votre code.
Pour les classes, même si elles n'y ont pas
public
accès, elles peuvent être référencées dynamiquement avecClass.forName()
, et cela se produit en fait dans le code en direct. Ainsi, même s'ils ne sont apparemment pas utilisés dans le code de votre projet, ils peuvent être utilisés en fonction de ce que vous ou du code externe utilisant votre bibliothèque exécute. L'EDI ne peut donc pas garantir que la suppression de ces classes ne changera pas le comportement observable de l'extérieur.C'est pourquoi je pense qu'IDEA ne fournit tout simplement pas ce comportement: cela pourrait donner aux utilisateurs de fausses attentes en matière de sécurité, et les supprimer n'est pas une refactorisation sûre.
la source
Vous devriez peut-être examiner l'
Unused Symbol
inspection avec les paramètres suivants:la source
Je ne sais pas si cela répondra à votre question mais j'ai utilisé un outil dans le passé comme Fortify pour exécuter des règles de révision de code sur le projet, qui pointe précisément vers les importations inutilisées, le code mort, les classes inutilisées, etc. C'est un logiciel payant mais je Je suis sûr qu'il y aura des plugins / logiciels gratuits disponibles pour le même.
la source