Sonar: Estudiar el problema para encontrar la solución

En demasiadas ocasiones intentamos buscar soluciones sin analizar antes cuál es el problema, de esta forma encontrar la posible solución se convierte en casualidad.

Esto es aplicable también al desarrollo de software.

Como ya he tratado en artículos anteriores, hemos implantado Sonar en nuestra organización y aunque todavía tenemos que avanzar mucho (sobre todo en definir un conjunto de reglas a analizar que se adapte más a nuestra organización que las que te vienen por defecto, las cuales por otra parte tampoco están nada mal) las métricas que estamos obteniendo son muy interesantes, ya que además de poder analizar la evolución de la calidad del software conforme va evolucionando una aplicación, permite como es lógico estudiar cómo está la misma en un momento dado del tiempo.

Eso precisamente hemos hecho con una aplicación que estaba presentando problemas en su mantenimiento debido a síntomas evidentes de alto acoplamiento. Una revisión rápida de las métricas de Sonar nos mostraba clases con RFC mayor que 200 (incluso alguna con un valor mayor que 300), lo que quiere decir que la suma de los métodos de la clase más la invocación de métodos de clases distintas lleva a esos valores, lo que da una idea del acoplamiento existente y de las repercusiones que puede tener hacia fiera modificaciones en dichas clases y dependencias cíclicas entre paquetes. De esta forma podemos determinar de forma sencilla dónde puede encontrarse el centro del problema (existe un alto acoplamiento, con métricas que hacen evidente este problema), después tocará ver cuál es la solución más adecuada que puede pasar desde el rediseño de las clases problemáticas hasta la posibilidad de rehacer gran parte de la aplicación (dependerá también de estudiar cómo está construida y cuál es la solución más rentable de cara a reducir la deuda técnica y a facilitar la mantenibilidad de las aplicaciones).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: