0Pricing
Java Academy · Lekcja

Dekompozycja metod i czysty kod

Podzielą Państwo problemy na małe, dobrze nazwane metody. Ograniczą powielanie kodu, preferując czyste helpery, i zachowają proste listy parametrów.

Dekompozycja metod i czysty kod to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.

Po co dzielić metody

Po co dzielić? Małe metody łatwiej czytać, testować i ponownie wykorzystywać. Podkreślają intencję i ukrywają szczegóły, dzięki czemu główny przebieg kodu czyta się jak opowieść.

Jedna odpowiedzialność

Jeden cel na metodę. Jeśli metoda zarówno oblicza, jak i wyświetla, należy ją podzielić. Treść metod powinna być krótka, mniej więcej 5–15 wierszy, a nazwy powinny mieć formę czasowników.

Nazwy i parametry

Nazwy opowiadają historię. Należy preferować applyDiscount zamiast calc1. Parametrów powinno być niewiele i powinny mieć znaczące nazwy; należy unikać flag typu boolean, które ukrywają działanie.

Eliminowanie powtórzeń

DRY. Jeśli te same kilka wierszy jest kopiowanych i wklejanych, należy wydzielić metodę pomocniczą i wywołać ją w obu miejscach. Ogranicza to liczbę błędów, gdy zmieniają się reguły.

Czyste metody pomocnicze

Czyste metody zależą wyłącznie od danych wejściowych i zwracają wynik. Łatwo je ponownie wykorzystywać i testować. Operacje I/O oraz wyświetlanie należy pozostawić na obrzeżach programu.

Przykład: podział na metody pomocnicze

Należy zwrócić uwagę na małe, opisowe metody pomocnicze: applyDiscount, addTax i round2. Logika jest wielokrotnego użytku i można ją testować, a wyświetlanie zostało odizolowane.

public class Main {
  // Entry point: reads like a story using small helpers
  public static void main(String[] args) {
    double subtotal = 120.00;
    double discountRate = 0.10; // 10% off
    double taxRate = 0.08;      // 8% tax

    double discounted = applyDiscount(subtotal, discountRate); // pure
    double taxed = addTax(discounted, taxRate);                 // pure
    double total = round2(taxed);                               // pure

    printReceipt(subtotal, discountRate, taxRate, total);       // I/O kept at edge
  }

  // Apply a percentage discount (pure)
  static double applyDiscount(double amount, double rate) {
    return amount - (amount * rate);
  }

  // Add a percentage tax (pure)
  static double addTax(double amount, double rate) {
    return amount + (amount * rate);
  }

  // Round to 2 decimals (pure)
  static double round2(double x) {
    return Math.round(x * 100.0) / 100.0;
  }

  // Handle printing separately (side effect)
  static void printReceipt(double subtotal, double discountRate, double taxRate, double total) {
    System.out.println("Subtotal: " + subtotal);
    System.out.println("Discount: " + (int)(discountRate * 100) + "%");
    System.out.println("Tax: " + (int)(taxRate * 100) + "%");
    System.out.println("Total: " + total);
  }
}

Sprawdzenie poprawnego projektu

Szybkie sprawdzenie: Który wybór najlepiej odzwierciedla poprawny projekt metod?

Podsumowanie

Podsumowanie: Dzielono zadania, wybierano jasne nazwy, usuwano duplikację i pozostawiano czyste metody pomocnicze w rdzeniu, a efekty uboczne na obrzeżach programu.

Często zadawane pytania

Czy lekcja „Dekompozycja metod i czysty kod” jest bezpłatna?

Tak — pełny tekst „Dekompozycja metod i czysty kod” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Dekompozycja metod i czysty kod”?

Podzielą Państwo problemy na małe, dobrze nazwane metody. Ograniczą powielanie kodu, preferując czyste helpery, i zachowają proste listy parametrów. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Java Academy?

Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.

Ile czasu zajmuje lekcja „Dekompozycja metod i czysty kod”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?

Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przekazywanie przez wartość w Javie
  2. Metody statyczne a instancji
  3. Dekompozycja metod i czysty kod
← Powrót do Java Academy