Usando PMD desde Eclipse

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