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.