domingo, noviembre 05, 2006

¿Quién dijo que yo escribía buen código?

En realidad, esa no fue la primera pregunta, sino ¿estaré escribiendo buen código?. Sin tratar de apelar a la humildad sino al conocimiento de uno mismo, la respuesta fue un rotundo "no creo...". Ahora bien, sé que he leído sobre nomenclatura en articulos, pdf, blogs y siempre he tratado de atenerme a las reglas, pero aún así sé que se puede mejorar.

Bien, existen varias herramientas de análisis de código, pero detallaré sobre una en especial, llamada "PMD". Esta herramienta se encarga de analizar el código fuente y tratar de encontrar problemas no sólo de nomenclatura, sino además de optimización, como por ejemplo, las clásicas variables declaradas y nunca usadas, líneas de debug del tipo "System.out" sin borrar, parámetros de sólo lectura que podrían ser declarados finales, buen uso del StringBuffer y hasta puede identificar código duplicado mediante el clásico "Cut & Paste".

Esta herramienta, que se distribuye bajo licencia "BSD", es bastante completa, configurable (podemos crear nuestras propias reglas), brinda hasta ejemplos de cómo mejorar nuestro código y cómo si fuera poco, se integra completamente con varios IDEs, entre ellos Eclipse, IntelliJ IDEA, JBuilder, Netbeans, JDeveloper, y varios más.

En el siguiente link, se pueden apreciar los resultados de analizar con este programa varios proyectos de SourceForge, ordenados por eficiencia, por ejemplo:
  • Hibernate: está casi en la mitad de la lista, con un porcentaje de %0.25 de código no usado.
  • XDoclet: marcado en un rojo furioso, un %1.07 de código no usado y 30 problemas encontrados.
  • JUnit: con un cómodo color verde, apenas tiene un %0.07 de código no usado.
  • JasperRepots: cerca de Spring, se posicionan casi al frente, con muy pocos problemas.
También podrán encontrar en la misma página de PMD, links a proyectos similares.

Y si se están preguntando cómo me fué a mí....
Mi lema es "Todos los días se aprende algo nuevo".



Saludos PF

1 Comments:

At 4:54 p. m., Blogger MEGadeath said...

Hola te felicito por tu blog, y este articulo esta bastante interesante, pero no dices nada de donde se descarga este plugin y como se utiliza,me gustaria que me enseñaras como se hace eso.

 

Publicar un comentario

<< Home