Kotlin Multiplatform Academy · Oppitunti

Liiketoimintasäännöt puhtaina funktioina

Pidä logiikka testattavana välttämällä alustakohtaisia sivuvaikutuksia

Oppitunti 3/413 vaihetta

Liiketoimintasäännöt puhtaina funktioina on ilmainen Kotlin Multiplatform Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Kotlin Multiplatform Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kotlin Multiplatform Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on puhdas funktio

Puhdas funktio palauttaa saman tuloksen samalla syötteellä eikä kosketa mitään itsensä ulkopuolella. Siksi se sopii erinomaisesti jaettuun koodiin.

Ei piilotettuja sivuvaikutuksia

Puhdas tarkoittaa, ettei lokiteta, käytetä verkkoa tai tallenneta levylle. Funktio vastaanottaa vain arvoja ja palauttaa tuloksen.

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

Miksi puhtaus kannattaa KMP:ssä

Puhtailla funktioilla ei ole alustariippuvuuksia, joten ne kääntyvät ja toimivat samalla tavalla Androidissa, iOS:ssä ja työpöydällä. 🎯

Helppo testata

Kun piilotettua tilaa ei ole, testi tarkoittaa yksinkertaisesti syötteen antamista ja odotetun tuloksen tarkistamista. Ei mock-objekteja, alustuksia tai epävakaita yllätyksiä.

assertEquals(9.0, shippingFee(6.0))

Säännöt pieninä funktioina

Ilmaise jokainen liiketoimintasääntö omana pienenä funktionaan. Pienet osat voidaan yhdistää suuremmaksi logiikaksi ilman, että ne kietoutuvat toisiinsa.

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

Yhdistä säännöt

Yhdistä pieniä sääntöjä päätösten tekemiseksi. Jokainen osa säilyy puhtaana, joten koko koostumus pysyy ennakoitavana ja helposti testattavana.

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

Välitä aika parametrina

Kellonajan lukeminen tekee funktiosta epäpuhtaan. Välitä sen sijaan nykyinen aika sisään, jotta sääntö säilyy deterministisenä.

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

Vältä globaalia muuttuvaa tilaa

Globaalin muuttujan lukeminen tai muuttaminen rikkoo puhtauden. Pidä kaikki säännön tarvitsemat tiedot sen parametreissa.

Palauta arvoja, älä tee muutoksia

Syötteen muokkaamisen sijaan palauta uusi arvo. Näin vältät yllätykset, kun samaa objektia käytetään muualla.

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

Puhdas logiikka, epäpuhtaat reunat

Pidä säännöt puhtaina ytimestä alkaen ja anna sovelluksen reunojen käsitellä vaikutukset, kuten tallentaminen tai tulosten näyttäminen.

Logiikka ei erkane

Koska puhtaat säännöt ovat kerran jaetussa koodissa, muutos päivittää molemmat sovellukset yhtä aikaa. Liiketoimintalogiikka ei voi enää erkaantua.

Pikatarkistus

Mikä ominaisuus tekee funktiosta puhtaan ja ihanteellisen jaettuun KMP-koodiin?

Kertaus: pidä se puhtaana

Kirjoititte liiketoimintasäännöt pieninä, sivuvaikutuksettomina funktioina, joita on helppo testata ja jotka toimivat samalla tavalla kaikilla kohdealustoilla. ✅

Aloita maksutta

Opi Kotlin tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Liiketoimintasäännöt puhtaina funktioina” ilmainen?

Kyllä – oppitunnin ”Liiketoimintasäännöt puhtaina funktioina” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Kotlin Multiplatform Academy-kurssin, päivitä CoddyKit PROhon. Kotlin Multiplatform Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Liiketoimintasäännöt puhtaina funktioina”?

Pidä logiikka testattavana välttämällä alustakohtaisia sivuvaikutuksia Harjoittelet Kotlin Multiplatform Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Kotlin Multiplatform Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Kotlin Multiplatform Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Liiketoimintasäännöt puhtaina funktioina”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Kotlin Multiplatform Academy-oppitunnilla?

Kyllä. Jokainen Kotlin Multiplatform Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Jaettu hinta- ja verolaskuri
  2. Valuutan ja lukujen muotoilu
  3. Liiketoimintasäännöt puhtaina funktioina
  4. Pidä käyttöliittymä jaetun koodin ulkopuolella
← Takaisin: Kotlin Multiplatform Academy