Kotlin Multiplatform Academy · Lekcja

Reguły biznesowe jako czyste funkcje

Utrzymywanie testowalności logiki przez unikanie efektów ubocznych platformy

Lekcja 3 z 413 kroki

Reguły biznesowe jako czyste funkcje to bezpłatna lekcja Kotlin Multiplatform Academy na CoddyKit. To lekcja 3 z 4. 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 Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.

Czym jest czysta funkcja

Czysta funkcja zwraca ten sam wynik dla tych samych danych wejściowych i nie oddziałuje na nic poza sobą. Dzięki temu świetnie nadaje się do współdzielonego kodu.

Bez ukrytych efektów ubocznych

Czystość oznacza brak logowania, sieci i zapisywania na dysku. Funkcja po prostu przyjmuje wartości i zwraca wynik.

fun shippingFee(weight: Double): Double = if (weight > 5) 9.0 else 4.0

Dlaczego czystość sprawdza się w KMP

Czyste funkcje nie mają zależności od platformy, więc kompilują się i działają identycznie na Androidzie, iOS oraz komputerach stacjonarnych. 🎯

Łatwe testowanie

Bez ukrytego stanu test polega po prostu na przekazaniu danych wejściowych i sprawdzeniu oczekiwanego wyniku. Bez mocków, konfiguracji wstępnej i nieprzewidywalnych niespodzianek.

assertEquals(9.0, shippingFee(6.0))

Reguły jako małe funkcje

Wyraź każdą regułę biznesową jako osobną, niewielką funkcję. Małe elementy można łączyć w większą logikę bez tworzenia zawiłych zależności.

fun isFreeShipping(total: Double) = total >= 50.0

Łączenie reguł

Łącz małe reguły, aby podejmować decyzje. Każda część pozostaje czysta, więc cała kompozycja jest przewidywalna i łatwa do testowania.

fun finalShipping(total: Double, weight: Double) =
  if (isFreeShipping(total)) 0.0 else shippingFee(weight)

Przekazuj czas jako parametr

Odczytywanie zegara sprawia, że funkcja przestaje być czysta. Zamiast tego przekaż do niej bieżący czas, aby reguła pozostała deterministyczna.

fun isPeakHour(hour: Int): Boolean = hour in 17..20

Unikaj globalnego zmiennego stanu

Odczytywanie lub zmienianie zmiennej globalnej narusza czystość. Przechowuj wszystkie dane wymagane przez regułę w jej parametrach.

Zwracaj wartości zamiast mutacji

Zamiast modyfikować dane wejściowe, zwróć nową wartość. Dzięki temu unikniesz niespodzianek, gdy ten sam obiekt jest używany w innym miejscu.

fun withDiscount(price: Double, off: Double) = price * (1 - off)

Czysta logika, nieczyste krawędzie

Zachowaj czystość reguł w rdzeniu aplikacji, a obsługę efektów, takich jak zapisywanie lub wyświetlanie wyników, pozostaw na jej krawędziach.

Logika nigdy się nie rozjeżdża

Ponieważ czyste reguły znajdują się raz we wspólnym kodzie, każda zmiana aktualizuje obie aplikacje jednocześnie. Logika biznesowa już nigdy się nie rozjedzie.

Szybkie sprawdzenie

Jaka cecha sprawia, że funkcja jest czysta i idealnie nadaje się do współdzielonego kodu KMP?

Podsumowanie: zachowaj czystość

Zapisano reguły biznesowe jako małe, pozbawione efektów ubocznych funkcje, które łatwo testować i które działają tak samo na każdej platformie. ✅

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Reguły biznesowe jako czyste funkcje” jest bezpłatna?

Tak — pełny tekst „Reguły biznesowe jako czyste funkcje” 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 Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Reguły biznesowe jako czyste funkcje”?

Utrzymywanie testowalności logiki przez unikanie efektów ubocznych platformy Ćwiczysz Kotlin Multiplatform 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ąć Kotlin Multiplatform Academy?

Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform 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 4.

Ile czasu zajmuje lekcja „Reguły biznesowe jako czyste funkcje”?

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 Kotlin Multiplatform Academy?

Tak. Każda lekcja Kotlin Multiplatform 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. Współdzielony kalkulator cen i podatków
  2. Formatowanie walut i liczb
  3. Reguły biznesowe jako czyste funkcje
  4. Interfejs poza współdzielonym kodem
← Powrót do Kotlin Multiplatform Academy