PMD es una herramienta que audita el código Java encontrando problemas como:
– Código muerto: variables y métodos (sólo privados) no usados
– Código no óptimo: uso de Strings,…
– Expresiones complejas: uso de if innecesarios, for,…
– Código duplicado
– Posibles bugs
Existe un plugin para Eclipse que podéis instalar desde aquí: http://pmd.sourceforge.net/eclipse
Una vez instalado para mostrar las violaciones de las reglas definidas selecciono el proyecto, voy a Properties y en PMD marco Enable PMD
Para probar su funcionamiento creo la clase Persona
con este código:
| package ejemplo.pmd;
import java.util.Enumeration; import java.util.*; public class Persona { public String dni; public Persona(String dni) { dni = (String) dni; } public boolean equals(Object obj) { try { String dni2 = ((Persona) obj).dni; return this.dni.equals( dni2 ); } catch (Exception ex){} return false; } public int funcionTonta2(int numerito){ int total = 0; if ((numerito % 3) == 0){ total+=3; } else if ((numerito % 4) == 0){ } else { total+=9; } if ((numerito % 3) == 0){ total+=3; } else if ((numerito % 4) == 0){ } else { total+=9; } Vector cadenas = new Vector(); cadenas.addElement(«a»); cadenas.addElement(«a»); cadenas.addElement(«a»); Enumeration enum1 = cadenas.elements(); String cadenaTonta = «»; while (enum1.hasMoreElements()){ cadenaTonta += enum1.nextElement(); } System.err.print(cadenaTonta); return total; } public static void main( String[] args ){ try { new Persona(«62626261231»); } catch (java.lang.Throwable ex) { System.out.println(«error: » + ex); } } } |
Que me mostrará:
Esto me ha pasado a la Perspectiva PMD 
Habilitaré en esta Perspectiva la Vista 
Que en función de las reglas predefinidas me muestra 3 errores y 28 warnings:
Seleccionando el error voy a la línea de código en la que se produce el problema y puedo solucionarlo:
|
à | |
|
à | |
|
à | |
Al grabar la clase me habrán desaparecido los errores:
Haré lo mismo con los Warnings.












Deja un comentario