2009-01-05 10 views
8

Soy un usuario de NetBeans 6.5 y estoy buscando una manera de generar una lista de métodos/clases que no se usan dentro de un grupo de proyectos establecido.Detectando el proyecto Java Cruft

Sé que puedo hacer clic derecho en cada método y seleccionar "Buscar usos", pero estoy buscando una automatización para ese proceso.

Estoy dispuesto a ver algo que se ejecuta fuera de netbeans, siempre que genere una lista de métodos/clases cruft.

Gracias.

Respuesta

5

Obfuscadores como proguard pueden reducir sus jarrones mediante la eliminación de métodos/clases no utilizados. Tal vez sea posible obtener un resultado detallado que contenga la lista de clases/métodos eliminados (y por lo tanto no utilizados).

Here puede encontrar más información sobre cómo encontrar el código muerto con proguard.

5

Puede activar el unused code rules en PMD (hay un complemento NetBeans), luego ejecute PMD en todo un proyecto.

+0

Parece ser una solución parcial, pero solo parece permitir la detección de métodos/campos privados. –

+0

Estaba a punto de publicar lo mismo después de mirar PMD. También he tenido el mismo problema, en el pasado lidiaba con bases de código heredadas. Solo detecté métodos públicos no utilizados (no utilizados dentro de la base de código) a través de una mezcla maligna de grep, python, etc. Publica por favor si sabes de cualquier otro herramientas. –

+0

Se supone que los métodos públicos se usan fuera de su código (son su API), por lo que PMD no los marca. –

1

Hay varias herramientas que puede utilizar para ayudar a encontrar estos y otros problemas:

+0

Estoy usando activamente estos. Excelentes herramientasSin embargo, no abordan el problema en el caso de los métodos/clases públicas. –

2

Utilice un herramienta de cobertura de prueba para instrumentar su base de código, luego ejecute la aplicación en sí, no las pruebas.

Emma y Eclemma le darán buenos informes de qué porcentaje de qué clases se ejecutan para una ejecución determinada del código.

Cuestiones relacionadas