Sobes.tech
Junior

Šta su sporedni efekti u kontekstu programiranja?

sobes.tech АИ

Одговор од АИ

Side efekat je promena u vidljivom stanju programa koja se dešava van povratne vrednosti funkcije.

Glavne vrste side efekata:

  • Modifikacija globalnih promenljivih ili stanja objekata.
  • Ulaz/izlaz podataka (čitanje iz fajla, zapis u konzolu, mrežni zahtevi).
  • Promena sadržaja baze podataka.
  • Bacanje izuzetka koji se ne obrađuje unutar funkcije.
  • Promena DOM stabla u pretraživaču.
  • Pozivanje drugih funkcija sa side efektima.

Primer čiste funkcije (bez side efekata):

// Funkcija samo sabira dva broja i vraća rezultat
function add(a, b) {
  return a + b;
}

Primer funkcije sa side efektom (promena globalne promenljive):

let total = 0;

// Funkcija dodaje vrednost i menja globalnu promenljivu
function addToTotal(value) {
  total += value; // Side efekat: promena globalne promenljive
  return total;
}

Uticaj side efekata:

  • Olakšavaju testiranje.
  • Komplikjuju paralelno izvršavanje koda zbog potencijalnih trka.
  • Čine kod manje predvidivim i teže za razumevanje.
  • Mogu narušiti principe funkcionalnog programiranja.

U frontend razvoju, side efekti su često povezani sa:

  • Manipulacijom DOM-a.
  • HTTP zahtevima.
  • Operacijama sa Local Storage ili Session Storage.
  • Radom sa API-jem treće strane.

Upravljanje side efektima je važan zadatak pri izgradnji pouzdanih i održivih aplikacija. Patterni poput Redux (sa fokusom na predvidljivo upravljanje stanjem i odvajanje side efekata u akcije/sage), ili korišćenje čistih funkcija gde je to moguće, pomažu da se minimizira njihov negativan uticaj.