exponenta event banner

Количество прямых рекурсий

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

Описание

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

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

Рекомендуемый верхний предел для этой метрики равен 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
ЕГО метрика: Да