Es gibt eine Überprüfung "Nicht verwendete Deklaration", bei der der gesamte nicht verwendete Code in Intellij Idea gefunden werden kann. (siehe diese Frage ) Aber ich möchte alle nicht verwendeten Klassen finden, keine Methoden, Variablen usw. Nur Klassen. (Es ist schwierig, nur Klassen in der 3000-Ergebnisliste zu finden.) Wie kann ich das machen?
java
intellij-idea
dead-code
Kirsche
quelle
quelle
Antworten:
Die Einstellungen werden angezeigt
Einstellungen werden geschlossen
Die Suche beginnt
quelle
Ich denke nicht, dass dies machbar ist. Ich vermute, dass diese Funktion absichtlich in IDEs weggelassen wurde, da sie nicht so sicher verwendet werden kann wie andere Refactorings zum Entfernen nicht verwendeter XXX.
Die nicht verwendeten Deklarationen, nach denen IDEA (und AFAIK, NetBeans) suchen, gelten für private Mitglieder und lokale Variablen: Dinge, auf die auch außerhalb dieser Klasse oder dieses Bereichs nicht dynamisch zugegriffen werden kann. (Nun, zumindest ohne Dinge mit Reflection oder JVM-Hacking zu tun, die Sie nicht tun sollten.) Unabhängig davon, was externer Code mit Ihrer Bibliothek macht, werden diese Dinge nicht verwendet, da ihr Umfang begrenzt ist und die IDE kann alles sehen. Der Compiler kann dies feststellen, indem er nur Ihren Code betrachtet.
Selbst wenn Klassen keinen
public
Zugriff haben, können sie dynamisch mit referenziert werdenClass.forName()
, und dies geschieht tatsächlich im Live-Code. Selbst wenn sie anscheinend nicht im Code Ihres Projekts verwendet werden, können sie abhängig davon verwendet werden, was Sie oder externer Code, der Ihre Bibliothek verwendet, ausführen. Daher kann die IDE nicht garantieren, dass das Entfernen dieser Klassen das extern beobachtbare Verhalten nicht ändert.Aus diesem Grund denke ich, dass IDEA dieses Verhalten einfach nicht bietet: Es kann den Benutzern falsche Erwartungen an die Sicherheit geben, und das Entfernen dieser Sicherheiten ist kein sicheres Refactoring.
quelle
Vielleicht sollten Sie sich die
Unused Symbol
Inspektion mit den folgenden Einstellungen ansehen :quelle
Ich bin nicht sicher, ob dies Ihre Frage beantworten wird, aber ich habe in der Vergangenheit ein Tool als Fortify verwendet, um Codeüberprüfungsregeln für das Projekt auszuführen, die genau auf nicht verwendete Importe, toten Code, nicht verwendete Klassen usw. verweisen. Es ist eine kostenpflichtige Software, aber ich Ich bin mir sicher, dass es einige kostenlose Plugins / Software geben wird.
quelle