Sobes.tech
Middle

Millistel juhtudel ei saa funktsioonid olla puhtad?

sobes.tech AI

Vastus AI-lt

Funktsioonid ei saa olla puhtad, kui:

  • Neil on kõrvaltoimed: nad muudavad välist seisundit (näiteks muudavad globaalseid muutujaid, DOM-i, teevad päringuid serverile).
  • Nad sõltuvad väljast muudetavatest andmetest: kui funktsiooni tulemus sõltub selle parameetritest väljaspool olevast seisundist, ei ole see puhas.
  • Kasutavad juhuslikke väärtusi või praegust aega: tagastavad erinevaid tulemusi sama sisendandmetega.
  • Teostavad sisendi/väljundi operatsioone, näiteks failide lugemist või kasutajaga suhtlemist.

Näiteks funktsioon, mis muudab komponendi seisundit või kutsub API-d, ei saa olla puhas. Puhad funktsioonid on lihtsamini testitavad ja prognoositavad, seetõttu püüame neid funktsionaalses programmeerimises maksimaalselt kasutada.