Number of Direct Recursions

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

Описание

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

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

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

Примеры

развернуть все

int getVal(void);

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

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

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

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

Группа: проект
Акроним: AP_CG_DIRECT_CYCLE
Метрика HIS: да