viernes, 12 de marzo de 2010

Cómo romper dependencias cíclicas entre paquetes.

Sonar, con su versión 2.0, viene a cubrir todas las necesidades de control de la calidad de los proyectos de desarrollo; proporcionando además, herramientas sufientes para solucionar los problemas encontrados.

Ya hemos comentado con anterioridad las ventajas de utilizarlo, que son muchas pero, con la nueva versión podemos incluso localizar con facilidad dónde se encuentran las dependencias cíclicas de tu código.

Por ejemplo, echando un vistazo al código de Apache Jackrabbit en su versión 2.1 de desarrollo,



podemos observar que éxisten dependencias entre paquetes.



También sabemos cuántos ciclos existen, 264, y el número de dependencias entre paquetes y entre ficheros a romper, 99 y 329 respectivamente.



Pulsando sobre los datos nos mostrará la matriz de dependencias,



donde buscaremos las que debemos romper, representadas con color rojo.



Bien, hasta aquí podríamos haber utilizado otras herramientas más comunes como JDepend pero, ¿cómo puedo saber cuáles ficheros tengo que tocar? Simplemente doble click sobre la celda de color rojo y nos mostrará los ficheros implicados.



A partir de aquí, puedes empezar a refactorizar.



Más información en,

http://sonar.codehaus.org/
http://nemo.sonarsource.org/
http://nemo.sonarsource.org/project/index/org.apache.jackrabbit:jackrabbit
http://nemo.sonarsource.org/drilldown/measures/org.apache.jackrabbit:jackrabbit?metric=package_cycles
http://nemo.sonarsource.org/drilldown/measures/org.apache.jackrabbit:jackrabbit?metric=package_cycles&rids[]=32189

No hay comentarios: