A javascript halálának újratárgyalása, savepearlharbor
A hurok jól szolgált nekünk, de elavult, és újabb és funkcionálisabb programozási technikákat kell átadnia.
Szerencsére ez a tény nem feltétlenül jelenti azt, hogy mestere legyen a funkcionális programozásnak, sőt, ez az, amit jelenleg használhat a jelenlegi projektekben.
A for loop kialakítása az állam mutációira és a mellékhatások használatára ösztönöz, amelyek potenciális hibaforrások és kiszámíthatatlan kódviselkedés.
Mindannyian hallottuk, hogy a globális állam rossz, és hogy kerülnünk kell. Azonban a helyi állam ugyanazokat a problémákat osztja meg, mint a globális. nem szembesülünk olyan gyakran, mert kisebb méretben jelenik meg. Tény, hogy soha nem oldottuk meg a problémát, de egyszerűen csak minimálisra csökkentettük.
Egy változó állapotot használva a véletlen változó értéke ismeretlen ok miatt változik, és órákat töltenek le hibakereséssel és a változás okainak feltárásával. A hajam a fejemen áll, csak egy gondolatból.
Szeretnék egy kicsit beszélni a mellékhatásokról. Ezek a szavak akár szörnyű mellékhatásokat is hallanak. Ez szemét. Szeretne mellékhatásokat a programjaidban? Nem, nem akarok mellékhatásokat a programjaimban!
De mi a mellékhatás?
Úgy vélik, hogy a funkciónak mellékhatásai vannak, ha valamit módosít a hatókörön kívül. Ez lehet változó változás, felhasználói bevitel, lekérdezés az api-ra, adatok írása lemezre, naplózás a konzolra stb.
A mellékhatások egy igazán hatékony eszköz, de nagy erejű nagy felelősséggel jár.
Kevesebb szó, több kód. Nézzünk egy tipikus hurkot. amit valószínűleg százszor látott.
A kódot lépésről lépésre újra kódolom, hogy megfigyelhesse, hogyan lehet könnyen átalakítani saját kódját valami szebbé.
Először a feltételes kifejezést egy külön függvénybe bontom:
A feltételek megteremtése általában jó gyakorlat. A "kevesebb, mint 7 hónapig" szűrés "nagymértékű előrelépést" jelent. Most a kód sokkal jobban közvetíti szándékainkat. Miért veszünk 7 hónapig a macskákat? Nem teljesen világos. Kiscicákat akarunk találni, szóval mondja meg a kód!
Egy másik előny az, hogy a Kitten most újra felhasználható, és mindannyian tudjuk, hogy a kód újrafelhasználása mindig a célunk legyen.
A következő változás a macska transzformációjának (vagy leképezésének) kinyerése. Ez a változás később érthetőbb lesz, és most csak bízzon bennem.
Figyeljük meg, megszabadultak a kittens.push (.). Nincs több mutáció az állapotról, és nincs var.
A konfiguráció kódja a const függvények előtt, és nézzen ki eléggé vonzóvá
Természetesen a const-et a kezdetektől fogva használhatjuk, hiszen az objektum önmagában nem válik immunitássá (még egy alkalommal), de ez egy fiktív példa, ne csukja be!
És az utolsó változást, azt javasolnám, hogy a szűrést és a leképezést a függvénybe (a kód teljes újrafelhasználása érdekében) vegye ki.
házi feladat
Vizsgálja meg a szűrő és a térképmódszerek kivonását a tárgyakból.
Küldetés csillaggal: fedezze fel a funkciók összetételét.