Categorías
Desarrollo Testing

Analiza tu código desde el IDE con SonarLint

SonarLint es un plugin opensource que nos permite analizar y revisar la calidad del código que generarmos directamente en nuestro IDE de desarrollo.

SonarLint es un plugin disponible en IDE como Intellij, Eclipse y VS Code entre otros. Se encarga de analizar nuestro código en tiempo real, ofreciéndonos una serie de mejoras y/o correcciones que aumentarán la calidad del mismo.

¿Qué es SonarLint?

SonarLint es un plugin IDE gratuito OpenSource que hace las veces de asistente al desarrollo, buscando errores y posibles mejoras en nuestro código.

Sigue una serie de reglas propias y preestablecidas, las cuales buscan las buenas prácticas y limpieza en el desarrollo diario de cualquier programador.

Por lo tanto es un complemento más que ideal para cualquier persona que quiera mejorar la calidad y eficiencia de su código, así como aprender buenas prácticas a la vez.

Similitudes y diferencias con SonarQube. ¿Son lo mismo?

Como muchos habrán observado con buen criterio, a priori, SonarLint tiene muchas similitudes con SonarQube e incluso podrían parecer la misma herramienta, pero nada más lejos de la realidad.

Estas similitudes van más allá del nombre, sin embargo, también tienen una serie de diferencias. Os dejamos una lista con algunas de las similitudes y diferencias más destacables.

  1. Como mencionábamos anteriormente, SonarLint sigue una serie de reglas preestablecidas para el análisis del código, las cuales no son modificables. SonarQube también sigue una serie de reglas predefinidas, pero estas sí que son modificables y adaptables a nuestro criterio o preferencia personal.
  2. SonarLint es una herramienta de código abierto y su uso es de acceso gratuito para cualquier desarrollador, mientras que SonarQube presenta una gama de licencias de las cuales solo una es de acceso gratuito, siendo el resto de pago.
  3. SonarQube analiza el código a través de una plataforma centralizada, desde la cual dispondremos de gráficas y otras herramientas útiles para la visión general del estado del código a nivel de organización o proyecto. Por otro lado SonarLint analiza el código de forma constante a nivel local, proporcionando feedback en tiempo real al desarrollador.
  4. Podemos integrar ambas herramientas entre sí, es decir, SonarLint puede integrarse con SonarQube para que el código tenga un seguimiento de calidad antes y después del desarrollo. Además SonarQube puede integrarse con muchas otras herramientas aparte de SonarLint.
  5. Quizás la diferencia más destacable y obvia que vemos a simple vista, SonarLint es un plugin instalado directamente sobre un IDE, mientras que SonarQube es una herramienta de análisis de código mas «pesada» que se despliega en un servidor.

Ejemplos de mejoras y correcciones proporcionadas por SonarLint

A continuación os dejamos una lista de ejemplos de análisis hechos por el plugin integrado en Intellij IDEA.

Un ejemplo muy básico lo encontramos en esos condicionales booleanos, recomendándonos el uso del primitivo boolean en vez de la clase Boolean.
Otro clásico es la comparativa del tamaño de un objeto con cero, cuando podemos sustituir dicha comparación por la llamada al método .isEmpty() de la clase.

Además nos ayuda con la limpieza de código y la eliminación de duplicados, recomendando el uso de constantes en vez de literales, la modularización de líneas duplicadas…

Y como guinda del pastel, por cada clase que estemos creando/editando en nuestro proyecto, tendremos un resumen con la lista de errores/recomendaciones de mejora (llamados bugs y smells respectivamente), desde la que podremos acceder directamente a la línea donde se encuentre dicho problema. Con esto evitaremos tener que buscar manualmente dentro del código cuando queramos invertir un ratito en mejorar la calidad del desarrollo.

Conclusiones

Tras un uso activo del plugin en cuestión de forma activa y teniendo en cuenta las mejoras que aporta en el día a día, podemos determinar que el uso de SonarLint es ideal y casi necesario.

Al ser un plugin ligero de acceso libre y gratuito, y cuya instalación apenas lleva unos segundos, es incuestionable que su añadido son todo ventajas.

Nos ayudará en las correcciones, a la vez que iremos incluso aprendiendo buenas prácticas de forma pasiva a medida que vayamos corrigiendo errores, los cuales iremos reduciendo gradualmente.

En resumen, es una herramienta que ofrece mucho a coste cero.