Функции не должны называть себя прямо или косвенно
Функции не должны называть себя прямо или косвенно.
Локальные для функции переменные хранятся в стеке вызовов. Если функция вызывает себя прямо или косвенно несколько раз, доступное пространство стека может быть превышено, что приводит к серьезному отказу. Если рекурсия не контролируется жестко, трудно определить требуемое максимальное пространство стека.
Средство проверки сообщает о каждой функции, вызывающей себя, прямо или косвенно. Даже если в одном цикле рекурсии задействовано несколько функций, каждая функция сообщается отдельно.
Можно вычислить общее количество циклов рекурсии с помощью метрики сложности кода. Number of Recursions.
Сообщение в отчете: функция XX вызывается YY косвенно.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Функция |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |