miércoles, 23 de enero de 2013

Herramientas de análisis estático de código

Artículo perteneciente a la sección de calidad de código
Artículo íntimamente relacionado con como mejorar la calidad del código

Hola a todos,

No hace mucho os comentaba el tema del análisis estático de código. Es decir, de utilizar programas que revisen por nosotros la estructura de código buscando posibles fallos medio-ocultos y zonas de código inmantenibles.

Depende del lenguaje que uséis tenéis más o menos opciones. En nuestro caso que casi siempre nos movemos dentro del ámbito de C/C++ tenemos dos opciones gratuitas muy claras:

Yasca : Es un analizador por linea de comandos que nos dará un report de los posibles fallos que tenemos en nuestro código. Es bastante completo y se le pueden añadir bastantes plugins para mejorar su funcionalidad.  Si queréis más información os lo podeis bajar y ejecutar yasca --help o bien ir probando que información os da con la siguiente linea de cmd:
                                   yasca       carpeta_con_codigo       -o    ficherodesalida.xml

cppcheck: Es un analizador un poco más complejo , con interficie gráfica que se complementa bastante bien con yasca. También se puede usar por linea de comandos y detecta errores que yasca no ve (y viceversa)

Si estas opciones se os quedan cortas, hay otras, seguramente mejores, pero son de pago (y no estamos hablando de software de 10 euros precisamente) así que prefiero no dar publicidad.

La gracia de estos dos softwares es que al poderse usar por linea de comandos se puede integrar con nuestras aplicaciones como nosotros queramos. Por ejemplo, ahora mismo podríamos ser capaces de tener un servidor svn con el código, del cual nos bajaríamos automáticamente el código , le pasaríamos las pruebas TDD que quisiéramos, le pasaríamos el análisis estático que nos gustase, lo compilariamos y finalmente podríamos enviar tanto el ejecutable final como el resultado de todas las pruebas por email para tener constancia de todo el proceso. Esto, señoras y señores, es un servidor de integración continua que nos permite mejorar la calidad de código hasta límites insospechados.


En fin, espero que os haya gustado y os haya servido

Nos vemos
LordPakusBlog

0 comentarios :

Publicar un comentario

Entradas populares