Comment trouver toutes les classes inutilisées dans Intellij Idea?

Il y a une inspection “déclaration inutilisée” qui peut trouver tous les codes inutilisés dans Intellij Idea. (voir cette question ) Mais je veux trouver toutes les classes inutilisées, pas les méthodes, les variables, etc. Seules les classes. (il est difficile de trouver uniquement des classes dans la liste de résultats 3000). Comment je peux faire ça?

  • Appuyez sur Ctrl + Maj + A
  • Entrez “déclaration non utilisée”
  • Cliquez double sur “Déclaration inutilisée”

Les parameters apparaîtront

  • Cliquez sur Java / Declaration redundancy / Unused declaration
  • en bas à droite sélectionnez “Paramètres de l’éditeur à la volée”
  • décochez les champs, …, vérifiez les parameters. Seules les classes de chèques doivent être cochées.
  • appuyer sur OK

La fermeture se termine

  • Dans la barre de menu, cliquez sur Analyser / Exécuter l’inspection par nom (ou Ctrl + Alt + Maj + I )
  • Insérer le texte “Decla inutilisé”
  • Sélectionnez “Déclaration non utilisée Java | Redondance de déclaration”

La recherche commence

  • Vérifiez l’état du travail en bas de l’Idée, une fois fini: profitez des résultats et de la sensation de grandeur de nettoyer le code en désordre. 🙂

Je ne pense pas que cela soit faisable. Je soupçonne que cette fonctionnalité est intentionnellement exclue des IDE car elle ne peut pas être utilisée en toute sécurité comme le font les autres refactorings XXX “inutilisés”.

Les déclarations inutilisées que IDEA (et AFAIK, NetBeans) recherchent sont pour les membres privés et les variables locales: les choses qui ne sont pas accessibles, même de manière dynamic, en dehors de cette classe ou scope. (Eh bien, du moins sans faire de piratage avec Reflection ou JVM que vous n’êtes pas censé faire.) Peu importe ce que le code externe fait avec votre bibliothèque, cela ne provoquera pas l’utilisation de ces éléments, car leur scope est limitée et la IDE peut tout voir. Le compilateur peut déterminer cela en consultant uniquement votre code.

Pour les classes, même si elles ne disposent pas d’ public access public , elles peuvent être référencées dynamicment avec Class.forName() , ce qui se produit en réalité dans le code. 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 un code externe utilisant votre bibliothèque exécute. L’EDI ne peut donc pas garantir que la suppression de ces classes ne modifiera pas le comportement observable en externe.

C’est pourquoi je pense que IDEA ne fournit tout simplement pas ce comportement: cela pourrait donner aux utilisateurs de fausses attentes en matière de sécurité, et leur suppression n’est pas un remaniement sûr.

Vous devriez peut-être examiner l’inspection des Unused Symbol avec les parameters suivants:

entrer la description de l'image ici

Je ne suis pas sûr que cela réponde à votre question, mais j’ai utilisé un outil comme Fortify pour exécuter des règles de révision de code sur le projet, qui indique précisément les importations inutilisées, le code mort, les classes inutilisées, etc. Je suis sûr qu’il y aura des plugins / logiciels gratuits disponibles.