Для того, чтобы программист мог определить рекурсивную функцию, как правило, в некоторый момент времени до определения рекурсивной функции, программист обычно хотел бы понять, как работает рекурсия, но статья, похоже, сосредоточена на том, как определить рекурсивную в отличие от понимания того, как работает рекурсия, несмотря на название статьи. Так что, на мой взгляд, название статьи немного неверно.
Как уже отмечалось, для понимания рекурсии обычно используется простая рекурсивная функция в качестве примера обучения (factorial, Fibonacci, ...). Программисту не нужно прослеживать каждый уровень, но может рассмотреть, что происходит на нескольких уровнях чуть выше базового случая, а также в начальном случае и на одном или двух уровнях.
После того как рекурсия понята, тогда определение функции просто должно следовать правилам, упомянутым в статье.
Я думаю, что он говорит, что обычно вы не думаете о полной цепочке вызовов для рекурсивной функции (тем более, что она потенциально неограничена), а просто для базового случая и общего n-го шага (плюс, возможно, первый вызов, когда есть какая-то настройка). Я могу подтвердить, что редко я получаю какое-либо конкретное представление о рекурсивных проблемах, вступая в каждый вызов - хотя просмотр первых/последних нескольких кадров стека может помочь. –
@MatteoItalia: Если рекурсия не ограничена, там будут проблемы. –
Просто потому, что кто-то написал сообщение в блоге, в котором говорится, что X, Y или Z не делают этого. Если я напишу сообщение в блоге, в котором говорится: «Все должны послать Бобу миллион долларов», вы это сделаете? (*Пожалуйста скажи да!!!* :-). Лично я считаю, что отслеживание через пару примеров рекурсии - хороший способ показать, как и почему работают рекурсивные функции. Подумайте сами. –