Zamiana Iteracji na Rekurencje - metoda Refaktoryzacji
Opis
Wykonujemy tą metodę, gdy mamy pętle, w której nie jest wystarczająco jasno stwierdzić co robi każda iteracja.
Implementujemy podaną operację po przez zamianę iteracji na rekurencję, czyli wielokrotne wywołanie tej samej metody w metodzie (samo wywołalność).
Przykład
Listing 1.0 pokazuje kod przed refaktoryzacją.
Listing 2.0 ukazuje kod po refaktoryzacji.
Listing
//listing 1.0
unsigned najwiekszyWspolnyDzielnik (unsigned a, unsigned b)
{
while (a != b)
{
if (a > b)
{
a -= b;
}
else if (b > a)
{
b -= a;
}
}
}
//listing 2.0
unsigned najwiekszyWspolnyDzielnik (unsigned a, unsigned b)
{
if (a > b)
{
return najwiekszyWspolnyDzielnik ( a-b, b );
}
else if (b > a)
{
return najwiekszyWspolnyDzielnik ( a, b-a );
}
else // (a == b)
{
return a;
}
}
unsigned najwiekszyWspolnyDzielnik (unsigned a, unsigned b)
{
while (a != b)
{
if (a > b)
{
a -= b;
}
else if (b > a)
{
b -= a;
}
}
}
//listing 2.0
unsigned najwiekszyWspolnyDzielnik (unsigned a, unsigned b)
{
if (a > b)
{
return najwiekszyWspolnyDzielnik ( a-b, b );
}
else if (b > a)
{
return najwiekszyWspolnyDzielnik ( a, b-a );
}
else // (a == b)
{
return a;
}
}
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno