Jakie działania należy podjąć, aby uniknąć nieskończonej rekurencji w danej funkcji?
Warunek stopu to taki kluczowy element w rekurencji, który właściwie mówi, kiedy funkcja powinna przestać się wywoływać. Jak masz ten warunek, to funkcja wraca z wynikiem zamiast kręcić się w kółko, co mogłoby prowadzić do jakiegoś szaleństwa, tzn. przepełnienia stosu. Myślę, że warto zwrócić uwagę, że dodanie tego warunku to naprawdę podstawowa sprawa w programowaniu, bo bez niego wszystko może się posypać i przestanie działać tak, jak powinno.
Zwiększanie zmiennych globalnych nie naprawi nieskończonej rekurencji – tu chodzi o to, że musisz mieć warunek zakończenia, a nie tylko więcej pamięci. Można zastąpić rekurencję iteracją, ale to nie rozwiąże problemu samej idei rekurencji. Wiadomo, że iteracja i rekurencja to różne sposoby podchodzenia do problemów. I nawet jak masz debuggera, to on nie naprawi błędów rekurencji, to ty musisz sam o to zadbać i dobrze zaimplementować warunek stopu.