cyclomatic complexity - software - Cálculo de la complejidad ciclomática
programa para calcular la complejidad ciclomatica (4)
Además, si esto ayuda, es el número de sentencias condicionales (If, while, for) +1. Así que en el ejemplo anterior, hay 2 declaraciones condicionales. entonces 2 + 1 = 3. La complejidad ciclomática en este caso es 3.
Estoy en etapa de aprendizaje de la complejidad ciclomática (CC). Para la práctica, estoy calculando la complejidad ciclomática de 2 ejemplos y quiero confirmar si mis respuestas son correctas o no ...
Con referencia a wikipedia, CC está dada por M = E − N + 2P
donde:
- E = el número de bordes de la gráfica
- N = el número de nodos de la gráfica
- P = el número de componentes conectados
Por favor ayuda.
Aquí, E = 8, N = 9 y P = 1. Por lo tanto, M = 8 - 9 + (2x1) = 1.
Ejemplo 2:
Aquí E = 11, N = 10 y P = 1. Por lo tanto, M = 10 - 11 + (2x1) = 1.
Por lo tanto, para ambos ejemplos, CC es 1. Déjeme saber si mi cálculo es correcto o no.
Debe tener más cuidado para insertar correctamente los valores en la fórmula.
En el ejemplo 1, dices
Aquí, E = 8, N = 9 y P = 1
Pero en realidad, es al revés: 9 bordes (= E), 8 nodos (= N), por lo que obtienes un CC de 3.
En el ejemplo 2, tiene los valores correctos: E = 11, N = 10, P = 1. Pero los inserta en el orden incorrecto en la fórmula; en realidad debería ser 11 - 10 + (2x1) = 3
.
Atajo: si tiene una imagen de su gráfico, puede determinar fácilmente la complejidad ciclomática. Solo cuenta el número de regiones en que se divide el fondo por los bordes. En su primer ejemplo, tiene 2 regiones internas (bordeadas por los bordes) y una región circundante, dando un CC de 3. Lo mismo ocurre con el segundo ejemplo. (Este método requiere que los bordes no se crucen entre sí, obviamente).
P = el número de componentes conectados
EN OTRAS PALABRAS
P = el número de nodos que tienen puntos de salida
Solo cuenta el número de regiones cerradas y agrega 1.
En su ejemplo anterior, número de región cerrada = 2, por lo que CC = 2 + 1 = 3