Sobes.tech
Middle

Kokiais atvejais funkcijos negali būti grynos?

sobes.tech AI

Atsakymas iš AI

Funkcijos negali būti švarios, jei:

  • Jos turi šalutinį poveikį: keičia išorinę būseną (pavyzdžiui, keičia globalias kintamąsias, DOM, daro užklausas į serverį).
  • Priklauso nuo išorinių keičiamų duomenų: jei funkcijos rezultatas priklauso nuo būsenos už jos parametrų ribų, ji nėra švari.
  • Naudoja atsitiktines reikšmes arba dabartinį laiką: grąžina skirtingus rezultatus su tais pačiais įvesties duomenimis.
  • Atlieka įvesties/išvesties operacijas, pavyzdžiui, skaito failus arba sąveikauja su vartotoju.

Pavyzdžiui, funkcija, kuri keičia komponento būseną arba kviečia API, negali būti švari. Švarios funkcijos yra lengviau testuojamos ir prognozuojamos, todėl funkcinėje programavime stengiamės jas naudoti maksimaliai.