Это, вероятно, относится к более чем C и Java, конечно, но те два языка, я более знакомы, так что давайте возьмем этот простой пример:При вычислении циклической сложности следует ли включать в нее выражения, выходящие из текущего метода/функции?
int foo(int arg)
{
if (arg > 0)
return 1;
return 0;
}
Теперь, я видел две интерпретации как как return
:
- это «другой путь кода», так как он выходит из метода; поэтому любой оператор
return
должен увеличить сложность на 1. В этом случае приведенный выше примерный код имеет сложность 3; или return
просто выходит из метода, никаких оснований считать его. В этом случае образец кода выше, имеет сложность 1.
ли любая интерпретация выше «правильный», каноническим, насколько как циклическая сложность? Я, как правило, в пользу второго случая, но я не CS теоретика ...
C не имеет _methods_. И это все равно. – Olaf
@ Олаф, который не имеет отношения к обсуждению. Метод или функция - это не что иное, как путь к коду. – fge
Метод связан с объектом, _функция - это более общий термин. Есть веские причины назвать собаку не «волком». – Olaf