メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

直接再帰の数

自身を直接呼び出す関数の数

説明

このメトリクスはプロジェクト内の直接再帰の数を示します。

直接再帰とは、関数がその本体で自身を呼び出す再帰です。間接再帰が発生しない場合、直接再帰の数は再帰関数の数と等しくなります。

このメトリクスの推奨上限は 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 メトリクス:あり