Učenje funkcionalnega programiranja me je naredilo za 10-krat boljšega razvijalca

Učenje funkcionalnega programiranja me je naredilo za 10-krat boljšega razvijalca. Pomagal mi je, da se naučim, kako pisati kodo, ki je čista, enostavna za vzdrževanje in razširljiva.

To je še posebej pomembno v današnjem času, ko se programske aplikacije vedno bolj zapletajo. Dnevi gradnje in vzdrževanja preproste spletne aplikacije so mimo.

Kot razvijalec so vaša pričakovanja višja kot kdaj koli prej. Na naša pleča zdaj pade izdelava, preizkušanje, vzdrževanje in spreminjanje zapletenih aplikacij, ki dnevno vplivajo na milijone ljudi. Kot začetnik je to lahko še posebej zastrašujoče, ker šele pišemo kodo, ki dejansko deluje , kaj šele, da bi napisali kodo, ki je enostavna za razumevanje, pisanje, odpravljanje napak, ponovna uporaba in vzdrževanje.

Tu se je funkcijsko programiranje zame kaj spremenilo - pomagalo mi je, da se naučim kodiranja, ki je enostavno razumljivo, pišem, odpravljam napake, ponovno uporabim in vzdržujem. Posledično se počutim veliko bolj samozavestno v svoje sposobnosti kodiranja.

Tudi če pri delu ali pri stranskih projektih ne uporabljate funkcionalnega programskega jezika, vas poznavanje osnov funkcionalnega programiranja opremi z zmogljivim naborom orodij za pisanje boljše kode.

V svoji novi e-knjigi vas bom naučil osnov funkcionalnega programiranja, tako da boste imeli vsa temeljna znanja, ki jih potrebujete za uporabo načel v službi, na naslednjem razgovoru za službo ali pri naslednjem stranskem projektu.

Preostanek prispevka vam bo dal preprosto razlago, kaj je funkcionalno programiranje, ki ga boste morali poznati, preden se potopite v e-knjigo. ?

Pojdimo naravnost v to! ?

Kaj je funkcionalno programiranje?

Torej. Kaj sploh je "funkcionalno programiranje"?

Funkcionalno programiranje ni okvir ali orodje, temveč način pisanja kode. Pri funkcionalnem programiranju dajemo velik poudarek pisanju kode z uporabo funkcij kot "gradnikov".

Vaš program je opredeljen v smislu ene glavne funkcije. Ta glavna funkcija je definirana v smislu drugih funkcij, ki pa so opredeljene v smislu še več funkcij - dokler funkcije na spodnji ravni niso samo jezikovni primitivi, kot sta »število« ali »niz«.

Če berete to razmišljanje, "Hmm, ampak počakajte? Ali ne uporablja vsak jezik funkcij za pisanje kode? " potem dobro? To pomeni, da ste pozorni.

Prav imate - vsak programski jezik ima funkcije. Toda funkcionalno programiranje ga dvigne na povsem drugo stopnjo ?

Da bi razumeli, kaj mislim, se previjmo nazaj in začnimo z osnovami.

Vsak program ima dve stvari:

  1. Vedenje (kaj dela program)
  2. Podatki (podatki, no, podatki)

Ko se učimo o programski paradigmi - kot je funkcionalno programiranje -, je pogosto koristno razmisliti, kako se paradigma približuje vedenju oziroma podatkom.

Vedenje v funkcionalnem programiranju se obravnava izključno z uporabo funkcij v funkcionalnem programiranju. Funkcijeso "samostojni" deli kode, ki izpolnjujejo določeno nalogo. Opredelijo razmerje med naborom možnih vhodov in naborom možnih izhodov - običajno sprejmejo podatke, jih obdelajo in vrnejo rezultat. Ko je funkcija napisana, jo lahko uporabljamo znova in znova in znova.

Podatki v funkcionalnem programiranju so nespremenljivi - kar pomeni, da jih ni mogoče spremeniti. Funkcije funkcionalnega programiranja namesto spreminjanja podatkov, ki jih sprejmejo, podatke vnesejo kot vhod in ustvarijo nove vrednosti kot izhod. Nenehno.

Funkcije in nespremenljivi podatki so edini dve stvari, s katerimi se morate kdaj spoprijeti pri funkcionalnem programiranju. Da bi bilo še bolj preprosto, se funkcije ne obravnavajo drugače kot podatki.

Povedano drugače, funkcije v funkcionalnem programiranju se lahko prenašajo tako enostavno kot podatki. Na njih se lahko sklicujete iz konstant in spremenljivk , jih posredujete kot parametre drugim funkcijam in jih vrnete kot rezultate drugih funkcij.

To je najpomembneje razumeti pri pristopu k funkcionalnemu programiranju.

Z obravnavanjem funkcij kot nič bolj posebnega kot podatkov in z uporabo samo nespremenljivih podatkov dobimo veliko več svobode glede uporabe funkcij.

Omogoča nam namreč ustvarjanje majhnih, neodvisnih funkcij, ki jih je mogoče znova uporabiti in kombinirati skupaj, da zgradimo vedno bolj zapleteno logiko. Mi lahko prekinil kompleksnega problema v manjše podskupine težave, ki jih rešujejo s pomočjo funkcij, in jih na koncu združi skupaj rešiti večji problem.

Glede na vedno večjo zapletenost programskih aplikacij tovrsten pristop "gradnika" močno vpliva na to, da so programi enostavni, modularni in razumljivi. Tudi zato si razvijalci prizadevajo, da bi bile njihove funkcije čim bolj splošne , tako da jih je mogoče kombinirati za reševanje velikih, zapletenih problemov in znova uporabiti za pospešitev časa za razvoj naslednjih programov.

Konec koncev je razlog, da so funkcije tako zmogljive pri funkcionalnem programiranju, ta, da funkcije sledijo nekaterim temeljnim načelom. Ta načela bodo predmet mojega e-poštnega tečaja:

  • Funkcije so čiste
  • Funkcije uporabljajo nespremenljive podatke
  • Funkcije zagotavljajo referenčno preglednost
  • Funkcije so prvovrstne entitete

Po tem se bom na kratko dotaknil, kako funkcionalno programiranje uporablja ta načela, da bi nas spodbudil k skrbnemu premisleku o naših podatkih in funkcijah, ki z njimi sodelujejo.

Na koncu boste lahko razumeli, kako ta pristop vodi do kode, ki je:

  • Lažje razumevanje (to je »izrazno«)
  • Lažje ponovno uporabiti
  • Lažje preizkusiti
  • Lažje vzdrževati
  • Lažje predelati
  • Lažje optimizirati
  • Lažje sklepati o

Sliši se vznemirljivo? Če je tako, vam bo všeč nova e-knjiga. ?

E-knjiga bo izšla 13. decembra . E-knjigo lahko prednaročite zdaj za samo 49 USD! Kot posebno ponudbo za brezplačno skupnost FreeCodeCamp ponujam 10 USD popusta s kodo za popust " freecodecamp ".

Se vidimo tam! ?? ✍️