java intellij-idea dead-code

java - ¿Cómo encontrar todas las clases no utilizadas en Intellij Idea?



intellij-idea dead-code (4)

Hay una inspección "Declaración no utilizada" que puede encontrar todo el código no utilizado en Intellij Idea. (vea esta pregunta ) Pero quiero encontrar todas las clases no utilizadas, no los métodos, las variables, etc. Solo las clases. (es difícil encontrar solo clases en la lista de resultados de 3000). ¿Como puedo hacer eso?


No creo que esto sea factible. Sospecho que esta característica se dejó intencionalmente fuera de los IDEs porque no se puede usar de forma segura de la misma manera que otras "refacciones de XXX que no se usen".

Las declaraciones no utilizadas que IDEA (y AFAIK, NetBeans) busca son para miembros privados y variables locales: cosas que no son accesibles, incluso dinámicamente, desde fuera de esa clase o alcance. (Bueno, al menos sin hacer cosas con Reflection o JVM hacking que se supone que no debes hacer). No importa qué código externo haga con tu biblioteca, no hará que esas cosas se usen, porque su alcance es limitado y el IDE puede verlo todo. El compilador puede determinar esto mirando solo su código.

Para las clases, incluso si no tienen acceso public , se pueden referenciar dinámicamente con Class.forName() , y esto sucede realmente en el código en vivo. Por lo tanto, incluso si aparentemente no se utilizan dentro del código de su proyecto, podrían usarse según lo que usted o el código externo que usa su biblioteca ejecute. Por lo tanto, el IDE no puede garantizar que la eliminación de esas clases no modifique el comportamiento externo observable.

Por eso, creo que IDEA simplemente no ofrece este comportamiento: podría dar a los usuarios falsas expectativas de seguridad, y eliminarlos no es una refactorización segura.


No estoy seguro de si esto responderá a su pregunta, pero utilicé una herramienta del pasado como Fortify para ejecutar reglas de revisión de código en el proyecto, que apunta precisamente a las importaciones no utilizadas, código muerto, clases no utilizadas, etc. Es un software pago, pero Estoy seguro de que habrá algunos plugins / software gratuitos disponibles para el mismo.


Tal vez deberías consultar la inspección del Unused Symbol con la siguiente configuración:


  • Presiona Ctrl + Shift + A
  • Ingrese "declar no utilizado"
  • Haga doble clic en "Declaración no utilizada"

Los ajustes aparecerán

  • Haga clic en Java / Declaración de redundancia / Declaración no utilizada
  • en la parte inferior derecha seleccione "Configuración del editor en marcha"
  • desmarcar los campos de verificación, ..., verificar los parámetros. Solo las Clases de Cheque deben marcarse.
  • presiona OK

Seetings cierra

  • En la barra de menú, haga clic en Analizar / Ejecutar inspección por nombre (o Ctrl + Alt + Mayús + I )
  • Insertar texto "Decla sin usar"
  • Seleccione "Declaración no utilizada Java | Declaración de redundancia"

La búsqueda comienza

  • Verifique el estado del trabajo en la parte inferior de Idea, cuando finalice: disfrute los resultados y la sensación de grandeza de limpiar el código dañado. :)