znalazłem następujący akapit dotyczące cyclomatic złożoności on Wikipedia:złożoność cykliczna = 1 + #if instrukcje?
Można wykazać, że cyklomatyczna złożoność każdego programu zorganizowanego z tylko jednym punktem wejściowym i jednym punktem wyjścia jest równa liczbie punktów decyzyjnych (tj wyrażenia "if" lub pętle warunkowe) zawarte w tym programie plus jeden.
To oznaczałoby cyclomatic złożoność 3 dla dwóch arbitralne zagnieżdżonych instrukcji if:
if (a)
{
if (b)
{
foo();
}
else
{
bar();
}
}
else
{
baz();
}
Ponieważ dokładnie jeden z trzech funkcji będzie się nazywać, mój gut zgadza się z 3.
jednak dwa arbitralne if można także zapisać w sekwencji zamiast ich gniazdowania:
if (a)
{
foo();
}
else
{
bar();
}
if (b)
{
baz();
}
else
{
qux();
}
Obecnie istnieją cztery ścieżki za pomocą kodu:
- foo Baz
- foo, qux
- bar, baz
- bar, qux
Jeżeli nie cyklomatyczna złożoność tego fragment powinien być 4 zamiast 3?
Czy nie rozumiem cytowanego akapitu?
Ten dokładny przykład został omówiony w artykule, który łączysz: http://pl.wikipedia.org/wiki/Cyclomatic_complexity#Implications_for_software_testing –