Checkstyle maven plugin

Logo

Una de las cosas que me resultaron muy interesante tras mi breve paso por el mundo de Angular y Typescript era la posibilidad de incluir en la construcción del proyecto unos chequeos de estilo, de forma que podemos incluir reglas de codificación que deben cumplirse por todo el equipo de desarrollo. Con normas de estilo me refiero a que , por ejemplo, se deje un espacio en blanco, los nombres de la variables no empiecen por miyúusculas, o cualquier cosilla que se nos ocurra, por ejemplo que determinadas variables empiecen por “_” o cosas así. De esta forma tras construir nuestra aplicación no solo controlamos testeo, que sea compilable y que cumpla con sonar, sino que podemos definir nuestras propias normas de calidad de código.

Bien, pues para maven existe un plugin que nos permite definir nuestras propias reglas de estilo, y que como parte del proceso de construcción introduce una nueva fase llamada checkstyle en la que se comprueba que todo el código sigue unas reglas definidas por defecto o bien en un fichero xml.

Además es posible incluir en nuestro pipeline de construcción una comprobación para que como parte del proceso de construcción, testeo y despliegue se compruebe que el código sigue las reglas de estilo que queramos definir.

Links de interés:

Apache Maven Checkstyle Plugin

Web de Checkstyle

Ejemplo de reporte de Checkstyle

Ejemplo de Baeldung

Ventajas

  • Facilita le mantenimiento de código
  • Asegura la calidad
  • Facilidad de uso
  • Permite implementar nuestras propias reglas de estilo

Estándares de codificación en Java

Aunque podemos definir nuestros propios estándares de codificación. Para desarrollo en Java hay dos convenciones muy utilizadas, una la sugerida por Sun y otra por Google. Incluyo más abajo links a las web donde se especifican todas las normas de codificaciones de cada uno de esto estándadres y que pueden ser configurados en el plugin.

Java Code Convention

Esta convención fue desarrollada por Sun. Destaca la importancia de tener una codificación con convenciones similares basándose en que:

  • El 80% del tiempo lo pasamos haciendo correcciones y mantenimiento.
  • Raramente el mantenimiento es realizado por el propio autor.
  • Seguir una convención de codificiación hace el código más legible.
  • Necesidad de limpieza en el código que se entrega.

Resumen de las conventions que se sugieren

Google Java Style Guide

Otra interesante convención desarrollada por Google para Java.