Расчет цикломатической сложности [псевдокод]
Цикломатическая сложность псевдокода ниже - "4".
Read A
Read B
IF A > 0 THEN
IF B = 0 THEN
Print “No values”
ELSE
Print B
IF A > 21 THEN
Print A
ENDIF
ENDIF
ENDIF
Как мы считаем это? Я слышал, что это # условий + 1? Мы считаем те заявления еще? Я не совсем понимаю.
РЕДАКТИРОВАТЬ: Случай 2: Что делать, если у нас есть:
IF (x < y)
statment 1
IF (x < z)
statemnt 2
Какова будет цикломатическая сложность? 2? или 3?
1 ответ
№ Основной поток + 3 х 'If
= 4
Из вики:
Цикломатическая сложность раздела исходного кода заключается в подсчете количества линейно независимых путей в исходном коде. Например, если исходный код не содержит точек принятия решения, таких как операторы IF или циклы FOR, сложность будет равна 1, поскольку через код существует только один путь.
Если бы в коде был один оператор IF, содержащий одно условие, в коде было бы два пути: один путь, где оператор IF оценивается как TRUE, и один путь, где оператор IF оценивается как FALSE.