Saltar la navegación

1.5.2.- Configuración.



Como se indicó en el apartado anterior, PMD es un analizador de código estático, capaz de detectar automáticamente un amplio rango de defectos y de inseguridades en el código. PMD se centra en detectar defectos de forma preventiva.

Una vez que tenemos desarrollado nuestro código, si queremos analizarlo con PMD, y obtener el informe del análisis, primero hay que pulsa en el menú Tools/Options:

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

y en "EasyPMD", en la pestaña "Rulesets":

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Se indicas las reglas que están activadas. Puedes activas más reglas. Para ello, pinchas en "Add standard" y añades las reglas que creas conveniente. Por ejemplo, vamos a añadir la regla "Naming". La seleccionamos y aceptar.

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Y veremos que esta regla se queda incluida.

Esta regla analiza, por ejemplo, que el nombre de un método no empieza por la primera letra en mayúscula, variables que no se usan o nombres muy cortos.

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Mientras se analiza el código, el plug-in mostrará una barra de progreso en la esquina inferior derecha. El informe producido contiene la localización, el nombre de la regla que no se cumple y la recomendación de cómo se resuelve el problema.

El informe PMD, nos permite navegar por el fichero de clases y en la línea donde se ha detectado el problema. En el número de línea, veremos una marca PMD. Si se posiciona el ratón encima de ella, veremos un tooltip con la descripción del error.

Para probarlo, crea un proyecto en NetBeans con este código (pulsa aquí si quieres descargar dicho proyecto:

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package practicapmd;

public class PracticaPMD {

public static void main(String[] args) {
int a;

int altura = 89;
if (altura > 89) {
System.out.println("Eres muy alto");
}
PracticaPMD ejemPMD = new PracticaPMD();
ejemPMD.MetodoDobleReturn();
metodo();
}

static void metodo() {

}

public boolean MetodoDobleReturn() {
int iValor = 10;
if (iValor == 5) 
return false;
else {
return true;
}
}

}

Pulsa sobre el menú "Windows" y sobre "Action Items"

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Y te da un informe de las reglas que no cumple tú código. En el ejemplo te avisa de:

  • Un error muy grave y es poner a un método un nombre que empieza por una letra mayúscula.
  • Un error leve que es el nombre de la variable "a". Un nombre muy corto.

Así podemos ir añadiendo más reglas. Cómo, por ejemplo, que me avise si alguna estructura de control no tiene llaves, aunque tenga una sola instrucción. Para ello, hay que añadir la regla: "braces".

Para ello, pulsamos en el menú Tools/Options:

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

y en "EasyPMD", en la pestaña "Rulesets":

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Pulsamos sobre "Add Standard" y añadimos la regla:

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Aceptamos y tendremos esa regla añadida:

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Damos a Ok. 

Y veremos como me avisa que hay un if que no tiene llaves:

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Ahora añade la regla "Design" y veras como te avisa en el informe que tienes un método vacío.

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.

Información del Action Items:

Captura de pantalla que muestra el proceso de configuración de PMD en Eclipse.