Number of Direct Recursions

Количество образцов функции, вызывающей себя непосредственно

Описание

Эта метрика определяет количество прямых рекурсий в вашем проекте.

Прямая рекурсия является рекурсией, где функция вызывает себя в собственном теле. Если косвенных рекурсий не происходит, количество прямых рекурсий равно количеству рекурсивных функций.

Рекомендуемый верхний предел для этой метрики равен 0. Чтобы избежать возможности превышения доступного пространства стека, не используйте рекурсии в коде. Чтобы обнаружить использование рекурсий, проверяйте на нарушения MISRA C:2012 Rule 17.2.

Для обеспечения пределов на метрики смотрите Сравнение метрики с целями качества ПО.

Примеры

расширить все

int getVal(void);
int sum(int val) {
    if(val<0)
        return 0;
    else
        return (val + sum(val-1));
}

void main() {
    int count = getVal(), total;
    assert(count > 0 && count <100);
    total = sum(count);
}

В этом примере количество прямых рекурсий составляет 1.

Метрическая информация

Группа: Проект
Акроним: AP_CG_DIRECT_CYCLE
ЕГО Метрика: Да