Rozłożenie warunkowe - metoda Refaktoryzacji
Opis
Podana metoda przenosi skomplikowane instrukcje warunkowe if - else do nowych metod.
Proces ten również obejmuje skomplikowane operacje na zmiennych, których używamy w kliku miejscach.
Przykład
Listing 1.0 pokazuje metodę przed refaktoryzacją.
Listing 2.0 ukazuje metodę/funkcję po refaktoryzacji.
Listing
//listing 1.0
if (data.przed (LATO_START) || data.po(LATO_END))
koszt = ilosc * _kosztZimowy + _dodatkoweKosztaZimowe;
else
koszt = ilosc * _kosztLetni;
//listing 2.0
if (poraPozaLatem(data))
koszt = kosztZimowy(ilosc);
else
koszt = kosztLetni(ilosc);
private boolean poraPozaLatem(Date data) {
return data.przed (LATO_START) || data.pl(LATO_END);
}
private double kosztLetni(int ilosc) {
return ilosc * _kosztaLetnia;
}
private double kosztZimowy(int ilosc) {
return ilosc * _kosztaZimowe + _dodatkoweKosztaZimowe;
}
if (data.przed (LATO_START) || data.po(LATO_END))
koszt = ilosc * _kosztZimowy + _dodatkoweKosztaZimowe;
else
koszt = ilosc * _kosztLetni;
//listing 2.0
if (poraPozaLatem(data))
koszt = kosztZimowy(ilosc);
else
koszt = kosztLetni(ilosc);
private boolean poraPozaLatem(Date data) {
return data.przed (LATO_START) || data.pl(LATO_END);
}
private double kosztLetni(int ilosc) {
return ilosc * _kosztaLetnia;
}
private double kosztZimowy(int ilosc) {
return ilosc * _kosztaZimowe + _dodatkoweKosztaZimowe;
}
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