A funkcionális programozás megtanulása 10-szer jobb fejlesztővé tett

A funkcionális programozás megtanulása 10-szer jobb fejlesztővé tett. Segített megtanulnom, hogyan kell tiszta, könnyen karbantartható és méretezhető kódot írni.

Ez különösen fontos ebben a korban, amikor a szoftveralkalmazások egyre bonyolultabbak. Véget értek az egyszerű webalkalmazás építésének és karbantartásának napjai.

Fejlesztőként az Ön elvárásai magasabbak, mint valaha. Most a vállunkra esik olyan komplex alkalmazások építése, tesztelése, karbantartása és méretezése, amelyek naponta emberek millióit érintik. Ez különösen akkor lehet ijesztő, mint egy kezdő, mert mi csak rá a nyitjára kódot írni, hogy valóban működik , nemhogy írásban kódot, ami könnyen a megérteni, írási, hibakeresés, újrafelhasználás és karbantartani.

Itt változott meg számomra a funkcionális programozás - segített megtanulnom a könnyen érthető, írható, hibakereső, újrafelhasználható és karbantartható kódolást. Ennek eredményeként sokkal magabiztosabbnak érzem magam kódolási képességeimben.

Még akkor is, ha a munkahelyen vagy a projektjeiben nem használ funkcionális programozási nyelvet, a funkcionális programozás alapjainak ismerete hatékony eszközkészlettel rendelkezik a jobb kódíráshoz.

Új e-könyvemben megtanítom a funkcionális programozás alapjaira, hogy minden szükséges alapismerettel rendelkezzen ahhoz, hogy alkalmazza az elveket a munkahelyén, a következő állásinterjún vagy a következő projektjén.

A bejegyzés további része egyszerű magyarázatot ad a funkcionális programozásról, amelyet tudnia kell, mielőtt belemerül az e-könyvbe. ?

Menjünk bele rögtön! ?

Mi a funkcionális programozás?

Így. Mi is pontosan a „funkcionális programozás”?

A funkcionális programozás nem keretrendszer vagy eszköz, hanem a kódírás módja . A funkcionális programozás során nagy hangsúlyt fektetünk a kód írására a funkciók „építőelemként” történő felhasználásával.

A programot egy fő funkció alapján határozzák meg. Ezt a fő függvényt más függvényekkel határozzuk meg, amelyeket viszont még több funkcióval határozunk meg - egészen addig, amíg az alsó szinten a függvények csak nyelvi primitívek, például a „szám” vagy a „karakterlánc”.

Ha ezt a gondolkodást olvassa: „Hmm, de várjon? Nem minden nyelv használ funkciókat a kódíráshoz? " akkor jó ?. Ez azt jelenti, hogy figyelsz.

Igazad van - minden programozási nyelvnek vannak funkciói. De a funkcionális programozás egy egész más szintre emeli ?

Hogy megértsem, mire gondolok, tekerjünk vissza, és kezdjük az alapokkal.

Minden szoftverprogramnak két dolga van:

  1. Viselkedés (mit csinál a program)
  2. Adatok (adatok, jól vannak, adatok)

Amikor megismerünk egy programozási paradigmát - mint a funkcionális programozás -, gyakran hasznos megfontolni, hogy a paradigma hogyan viszonyul a viselkedéshez, illetve az adatokhoz.

Viselkedés , funkcionális programozás, kezeli tisztán használva funkciók a funkcionális programozásban. Funkciók„önálló” kóddarabok, amelyek egy adott feladatot teljesítenek. Meghatározzák a kapcsolatot a lehetséges inputok és a lehetséges outputok halmaza között - általában adatokat vesznek fel, dolgoznak fel és adnak vissza eredményt. A függvény megírása után újra és újra használható.

Az adatok a funkcionális programozásban változhatatlanok - vagyis nem változtathatók meg. A funkcionális programozás funkciói ahelyett, hogy megváltoztatnák az átvett adatokat, a funkciókat bemenetként veszik fel, éskimenetként új értékeketállítanak elő. Mindig.

A funkciók és a megváltoztathatatlan adatok az egyetlen két dolog, amellyel valaha is foglalkoznia kell a funkcionális programozás során. Annak érdekében, hogy még egyszerűbb legyen, a funkciókat nem másként kezeljük, mint az adatokat.

Másképp fogalmazva, a funkcionális programozás funkciói ugyanolyan egyszerűen átadhatók, mint az adatok. Hivatkozhat rájuk konstansokból és változókból , átadhatja őket paraméterként más függvényeknek, és visszaküldheti más függvények eredményeként .

Ezt a legfontosabb megérteni a funkcionális programozás megközelítésénél.

Ha a függvényeket nem tekintjük különösebbnek, mint egy adatnak, és csak megváltoztathatatlan adatokat használunk, akkor sokkal több szabadságot kapunk a funkciók használatának tekintetében.

Nevezetesen lehetővé teszi számunkra, hogy kicsi, független funkciókat hozzunk létre, amelyek újrafelhasználhatók és kombinálhatók az egyre összetettebb logika felépítéséhez. Mi lehet törni bármilyen bonyolult problémát le kisebb al-problémák megoldására funkciók használatával, és végül összekapcsolják őket, hogy megoldja a nagyobb probléma.

Figyelembe véve a szoftveralkalmazások egyre növekvő összetettségét, ez a fajta „építőkockás” megközelítés óriási különbséget jelent abban, hogy a programokat egyszerűen, modulárisan és érthetően tartják. A fejlesztők ezért is törekszenek arra, hogy funkcióikat a lehető legcélszerűbbé tegyék, így kombinálhatók nagy, összetett problémák megoldására, és újrafelhasználhatók a későbbi programok fejlesztési idejének gyorsítása érdekében.

Végül az az oka, hogy a függvények annyira hatékonyak a funkcionális programozásban, az az oka, hogy a függvények bizonyos alaptételeket követnek. Ezek a tantételek lesznek az e-mail tanfolyamom tárgyai:

  • A funkciók tiszták
  • A függvények megváltoztathatatlan adatokat használnak
  • A funkciók garantálják a referenciák átláthatóságát
  • A függvények első osztályú entitások

Ezt követően röviden kitérek arra, hogy a funkcionális programozás hogyan alkalmazza ezeket az alapelveket, hogy arra ösztönözzön bennünket, hogy alaposan gondolkodjunk el adatainkon és azokkal kölcsönhatásban lévő funkciókon.

A végére meg fogja tudni érteni, hogyan vezet ez a megközelítés a következő kódhoz:

  • Könnyebben érthető (vagyis „kifejező”)
  • Könnyebb az újrafelhasználás
  • Könnyebb tesztelni
  • Könnyebb karbantartani
  • Könnyebb a refrakter
  • Könnyebb optimalizálni
  • Könnyebb okoskodni

Izgalmasan hangzik? Ha igen, imádni fogja az új e-könyvet. ?

Az e-könyv december 13-án jelenik meg . Most előrendelheti az e-könyvet , mindössze 49 dollárért! Különleges ajánlatként az ingyenes FreeCodeCamp közösségnek 10 dollár kedvezményt ajánlok a " freecodecamp " kedvezménykóddal .

Találkozunk odabent! ?? ✍️