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
Метрика HIS: да