Je suis au stade d'apprentissage de la complexité cyclomatique (CC). Pour la pratique, je calcule la complexité cyclomatique de 2 exemples et je veux confirmer si mes réponses sont correctes ou non ...
En référence à wikipedia, CC est donné par M = E − N + 2P
où:
S'il vous plaît aider.
Ici, E = 8, N = 9 et P = 1. Donc M = 8 - 9 + (2x1) = 1.
Exemple 2:
Ici E = 11, N = 10 et P = 1. D'où M = 10 - 11 + (2x1) = 1.
Par conséquent, pour les deux exemples, CC est égal à 1. Merci de me faire savoir si mon calcul est correct ou non.
Vous devez prendre plus de précautions pour insérer correctement les valeurs dans la formule.
Dans l'exemple 1, vous dites
Ici, E = 8, N = 9 et P = 1
Mais en réalité, c'est l'inverse: 9 arêtes (= E), 8 nœuds (= N), vous obtenez donc un CC de 3.
Dans l'exemple 2, vous avez les valeurs correctes: E = 11, N = 10, P = 1. Mais vous les insérez dans le mauvais ordre dans la formule; il devrait en fait être 11 - 10 + (2x1) = 3
.
Raccourci: Si vous avez une image de votre graphique, vous pouvez très facilement déterminer la complexité cyclomatique. Il suffit de compter le nombre de régions dans lesquelles l’arrière-plan est divisé par les bords. Dans votre premier exemple, vous avez 2 régions intérieures (bordées par les bords) et une région environnante, ce qui donne un CC de 3. Idem pour le deuxième exemple. (Cette méthode nécessite évidemment que les arêtes ne se croisent pas.)
De plus, si cela aide, le nombre d'instructions conditionnelles (If, while, for) +1. Ainsi, dans l'exemple ci-dessus, il y a 2 instructions conditionnelles. donc 2 + 1 = 3. La complexité cyclomatique dans ce cas est 3
Il suffit de compter le nombre de régions fermées et d’ajouter 1.
Dans votre exemple ci-dessus, nombre de régions fermées = 2, donc le CC = 2 + 1 = 3
P = le nombre de composants connectés
EN D'AUTRES TERMES
P = le nombre de nœuds qui ont des points de sortie