Liiketoimintasäännöt puhtaina funktioina
Pidä logiikka testattavana välttämällä alustakohtaisia sivuvaikutuksia
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.0Miksi 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.0Yhdistä 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..20Vä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. ✅
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
- Jaettu hinta- ja verolaskuri
- Valuutan ja lukujen muotoilu
- Liiketoimintasäännöt puhtaina funktioina
- Pidä käyttöliittymä jaetun koodin ulkopuolella