Zpo-8-wyk-Slajd57
Replace Iteration with Recursion
Przekształcenie odwrotne jest wykonywane w nielicznych przypadkach, w których zapis iteracyjny jest trudniej zrozumiały niż rekurencyjny. Celem jest zatem zamiana iteracji w rekurencję.
Pierwszym krokiem przekształcenia jest identyfikacja głównej pętli, wewnątrz której modyfikowana jest jedna lub kilka zmiennych lokalnych wpływających na wynik metody. Warto wówczas rozważyć wyłączenie pętli do odrębnej metody. Następnie pętla jest zastępowana wyrażeniem warunkowym, które zachowuje się identycznie jak pętla i sprawdza warunek kontynuacji pętli. Jeżeli warunek ten jest spełniony, wówczas zwracany jest wynik końcowy metody, natomiast w przeciwnym przypadku wywoływana jest rekurencyjnie ta sama metoda z parametrami zmienionymi zgodnie z postępem pętli.