- DDD dla architektów oprogramowaniaCena: 64.35 zł
- Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie IICena: 51.35 zł
- Mistrz czystego kodu. Kodeks postępowania profesjonalnych programist...Cena: 25.93 zł
- Czysta architektura. Struktura i design oprogramowania. Przewodnik dla...Cena: 43.55 zł
Przedstawienie Zmiennych Wyjaśniających - metoda Refaktoryzacji
Opis
Wykonujemy tą metodę, gdy mamy skomplikowane i długie wyrażenia warunkowe.
Implementujemy podaną operację po przez utworzenie tymczasowych zmiennych, które przechowują pojedyncze wyrażenia. Stworzone zmienne nazywamy tak, żeby było wiadomo co one robią.
Najczęściej tworzone są zmienne typu Boolean, oraz ze znacznikiem final, jako, że są stałe dla wszystkich instancji klasy.
Przykład
Listing 1.0 pokazuje metodę przed refaktoryzacją.
Listing 2.0 ukazuje metodę/funkcję po refaktoryzacji.
Listing
//listing 1.0
if ((platforma.toUpperCase().indexOf("MAC") > -1) &&
(przegladarka.toUpperCase().indexOf("IE") > -1) &&
zaladowano() && zmianaRozmiaru > 0 ) {
// nasz kod
}
//listing 2.0
final boolean isMacOs = platforma.toUpperCase().indexOf("MAC") > -1;
final boolean isIEBrowser = przegladarka.toUpperCase().indexOf("IE") > -1;
final boolean zmianaRozmiaru = rozmiar > 0;
if (isMacOs && isIEBrowser && zaladowano && zmianaRozmiaru) {
// nasz kod
}
if ((platforma.toUpperCase().indexOf("MAC") > -1) &&
(przegladarka.toUpperCase().indexOf("IE") > -1) &&
zaladowano() && zmianaRozmiaru > 0 ) {
// nasz kod
}
//listing 2.0
final boolean isMacOs = platforma.toUpperCase().indexOf("MAC") > -1;
final boolean isIEBrowser = przegladarka.toUpperCase().indexOf("IE") > -1;
final boolean zmianaRozmiaru = rozmiar > 0;
if (isMacOs && isIEBrowser && zaladowano && zmianaRozmiaru) {
// nasz kod
}
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