Традиционно Cyclomatic Complexity (CC) можно получить, используя способ, которым число «if-else», а затем плюс один.Но когда дело дошло до функции рекурсии, я обнаружил, что не могу выяснить число «если-еще».В частности, в этом блоке кода
public int m1(int k){
if(k==0)
return 0;
else
return m2(k-1)+(k%2);
}
public int m2(int k){
if(k==0)
return 0;
else
return m1(k-1)+(1-k%2);
}
Как определить CC m1?
Объяснение:
определить функцию CC (func), которая обозначаетCC функции "func"
Итак, CC (m1) = 1 (k == 0) + CC (м2) (k! = 0)
И CC (м2) =1 (k == 0) + CC (m1) (k! = 0)
Я имею в виду, мы должны учитывать CC вызванных функций.
Спасибо за вашу помощь.