¿Qué es eso?
Cuando hablamos de arquitectura, empezamos a
buscar medidas que nos indiquen la calidad de nuestros diseños, una medida que
es ampliamente usada es la complejidad ciclomatica, en palabras sencillas esta
nos indica que tan compleja es una función o una clase, es decir la cantidad de
rutas que existen para ella. ¿Y en que no ayuda esto? Nos enseña la cantidad de
casos de prueba que se necesitan para que este componente se pueda probar al
100%.
Una declaración como esta lo hace muy importante, si bien es
prácticamente imposible probar un software al 100%, mientras más complejas sean
las pruebas, es más difícil garantizar la calidad del software.
Esta es una de las métricas más importantes en la ingeniería
de software, principalmente por 2 características:
1.
Da una visión general de la calidad de la solución
2.
Es independiente del lenguaje
Ahora bien para nosotros como programadores de .NET Visual
Studio es capaz de calcular esta métrica, para que nosotros la verifiquemos.
¿Y cómo lo interpretamos? Esto es algo que es importante de
esta medida, se interpreta de una forma muy sencilla, mientras en número sea
menor es mejor.
Entonces, ¿Qué valores se recomiendan? , Los valores de la
complejidad ciclomatica dependen de la organización, pero es recomendable
seguir la siguiente tabla:
Mínimo
|
Máximo
|
Descripción
|
1
|
10
|
Riesgo pequeño
|
11
|
20
|
Riesgo Moderado
|
21
|
50
|
Alto Riesgo
|
50
|
Muy alto riesgo
|
Bueno ya que entendemos esto, ¿Cómo lo usamos en Visual Studio?
Realmente es muy sencillo, el menú de Visual Studio, nos da
una opción que es analizar
Y en esta opción tenemos un menú que dice “Calcular métricas
de código para la solución”, simplemente lo seleccionamos, Visual Studio inicia
con la compilación del código y posteriormente, obtenemos los resultados.
Pero entonces me dirán, ese código que les muestro tiene una
complejidad ciclomatica de 173, es muy alta, sí y no.
Estoy mostrando la complejidad de toda una solución, cada
uno de los métodos que da vida a la solución es evaluado, de tal forma que un método
solo por el hecho de existir sube en uno dicha complejidad.
¿En qué casos se enciende una alarma? Cuando un método tiene
una complejidad ciclomatica alta, es decir hace demasiadas cosa tiene muchas
posibilidades, el método ya no es controlable.
Saludos
No hay comentarios.:
Publicar un comentario