Refactorización de código y consideraciones sobre la complejidad ciclomática

Documento de Trabajo. Septiembre de 2016.

La refactorización de software es una práctica que permite obtener código más legible y ordenado, lo que redundará en beneficios relacionados con aspectos económicos y el tiempo necesario para realizar actividades vinculadas a la obtención de software, como los relacionados con el testing y el mantenimiento en cualquiera de sus formas. A pesar de sus innegables aportes, se deben considerar ciertos aspectos fundamentales dependiendo el tipo de refactorización que se desee realizar. El presente articulo plantea parcialmente cuales podrían ser observados cuando la refactorización que se desee practicar conlleva la transformación de código estructurado a código orientado a objetos. En particular plantea como se modifica y comporta la métrica que monitorea la complejidad ciclomática, cuando en la refactorización propuesta se aplican mecanismos y relaciones válidas en la orientación a objetos e inexistentes en las formas estructuradas para el desarrollo de software. Con este precedente se puede continuar analizando la totalizada de transformadas posibles de un modelo a otro al refactorizar, con el objetivo de establecer qué prácticas resultan positivas respecto de la variable analizada y cuales no son convenientes utilizar.