En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

20
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. SonarQube: ¿cómo de malo es mi software?

description

Charla sobre Sonar Qube, una herramienta que te puede ayudar a saber cómo de bueno (y de malo) es el código que desarrollas

Transcript of En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

Page 1: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

SonarQube: ¿cómo de malo es mi software?

Page 2: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Contenido

1. ¿Qué es?

2. Características

3. Instalación

4. Analizar un proyecto

5. Conociendo Sonar

6. Premios

7. Referencias

Page 3: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

¿Qué es?

SonarQube (también conocido como Sonar) es una plataforma open source que nos permite gestionar aquellas cosas que hemos hecho mal en nuestro software de forma consciente, o inconsciente, y que a la larga nos pueden suponer más de un quebradero de cabeza.

Page 4: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Características

• Mediante el análisis del código se obtienen informes sobre:

– Código duplicado

– Estándares de codificación

– Tests

– Cobertura de pruebas

– Complejidad ciclomática

– Bugs potenciales

– Comentarios

– Diseño y arquitectura

Page 5: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Características

• Almacena el histórico de métricas

• Ofrece gráficos de evolución (“time machine”) y vistas comparativas

• Se integra con: – Maven– Ant– Gradle – Atlassian Bamboo– Jenkins– Hudson– Eclipse– JIRA– LDAP

Page 6: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Características

• Se puede extender mediante plugins

• Ofrece soporte para más de 25 lenguajes:

– Java

– C/C++

– C#

– PHP

– Flex

– Groovy

– JavaScript

– Python

– PL/SQL

– COBOL

– etc.

– También para desarrollo en Android.

Page 7: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Instalación

1. Descargar de: http://www.sonarqube.org/downloads/

2. Arrancar el servidor ejecutando:

1. C:\sonarqube\bin\windows-x86-xx\StartSonar.bat

2. /etc/sonarqube/bin/[OS]/sonar.sh console

3. Acceder a http://localhost:9000 

4. El usuario administrador es admin/admin

Page 8: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Analizar un proyecto con Maven

• Añadir el siguiente profile al archivo settings.xml o al pom.xml del proyecto<profiles>

<profile>

<id>sonar</id>

<activation>

<activeByDefault>true</activeByDefault>

       </activation>

</profile>

</profiles>

• Ejecutar: mvn sonar:sonar

Page 9: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Home

Page 10: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Drill Down

Page 11: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Dashboard

Page 12: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Archivo

Page 13: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Time Machine

Page 14: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Time Machine

Page 15: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Perfiles de calidad

Page 16: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Puertas de calidad

Page 17: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Conociendo Sonar: Plugins

Page 18: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Premios

• Ganador del Jolt Productivity Award en 2009 y 2010

Page 19: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Referencias

• Documentación oficial e imágenes usadas en esta presentación: http://docs.codehaus.org/display/SONAR/Documentation

• Para conocer el significado de las métricas

– http://www.javiergarzas.com/2013/09/metricas-sonar-1.html

– http://www.javiergarzas.com/2013/09/metricas-sonar-2.html

– http://www.javiergarzas.com/2013/09/metricas-sonar-3.html

• Una lista con los 10 mejores plugins: http://www.javiergarzas.com/2012/04/plugins-sonar.html

Page 20: En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Fin

Gracias por vuestra atención

¿Alguna pregunta?

Tomás Moreno Bernal ([email protected])Tomás Moreno Bernal ([email protected])

@tmorenobernal@tmorenobernal