Ebből az előadásból olyan módszereket tanulhatsz, amelyek hozzásegítenek az átláthatóbb kód írásához, architektúrális és az implementációs részletek szintjén egyaránt!
Előadás tartalma:
-
A komplex szoftverek ismérvei:
- Rugalmatlanság
- Törékenység
- Mozdíthatatlanság
- Clean code architektúrális szinten:
- Komponálhatóság
- Modularitás
- Absztrakció
- A mellékhatás fogalma
- Kódpélda:
- Megvalósítás funkcionális programozásban
- Megvalósítás objektum orientált programozásban
-
Clean code az implementációs részletek szintjén:
- Early return (Guard clause-ok)
- Deklaratív vs imperatív eszközök
- Lookup table használata dinamikus kulccsal
Konklúzió:
- A szoftvert érdemes minél több mellékhatások nélküli függvényből (pure function-ökből) felépíteni, mert ezeknek a legkövetkezetesebb a működésük.
- A mellékhatásokat végző műveleteket érdemes kitolni a rendszer széleire és az általuk szolgáltatott értékeket paraméterként bepasszolni a pure számításokba.
-
Ha erre nincsen lehetőség, mert a számítás kellős közepén van szükség mellékhatás végrehajtására, akkor kompozíció alkalmazásával elérhetjük azt, hogy a számítás legalább a teszt környezetben teljes mértékben mellékhatások nélkül futhasson.
A módszer lényege, hogy egy adott mellékhatást végző művelet helyett be lehet passzolni annak pure megfelelőjét. Pl networkEmployeeGetter helyett mockEmployeeGetter-t.
Ebben az esetben éles környezetben továbbra is megtörténik a mellékhatás, ellenben a teszt környezetben nem történik meg és így teljesen determinisztikus műveletre tudunk teszteket írni.