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

Post on 05-Dec-2014

505 views 0 download

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

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

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

© 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

© 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.

© 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

© 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

© 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.

© 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

© 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

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

Conociendo Sonar: Home

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

Conociendo Sonar: Drill Down

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

Conociendo Sonar: Dashboard

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

Conociendo Sonar: Archivo

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

Conociendo Sonar: Time Machine

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

Conociendo Sonar: Time Machine

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

Conociendo Sonar: Perfiles de calidad

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

Conociendo Sonar: Puertas de calidad

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

Conociendo Sonar: Plugins

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

Premios

• Ganador del Jolt Productivity Award en 2009 y 2010

© 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

© 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 (tomas.moreno@um.es)Tomás Moreno Bernal (tomas.moreno@um.es)

@tmorenobernal@tmorenobernal