Side effect
“Avoid Side Effects” — proqramlaşdırmada çox vacib bir prinsipdir, xüsusilə functional programming (funksional proqramlaşdırma) kontekstində.
🔹 “Side Effect” nədir?
Side effect (yan təsir) — bir funksiyanın öz daxilindəki əməliyyatdan kənarda hansısa dəyişiklik etməsidir. Başqa sözlə, funksiya çıxışdan əlavə olaraq proqramın digər hissəsinə təsir edirsə, bu artıq “side effect” sayılır.Yani impure funksiya kimi işləyir.
🔸 Nümunələr — Side effect olan hallar:
Aşağıdakı əməliyyatlar side effect sayılır:
- Qlobal dəyişəni dəyişmək
- Console-a nəsə yazmaq (console.log)
- API-ya sorğu göndərmək
- DOM-u dəyişmək (səhifədə element əlavə etmək)
- Fayla yazmaq/oxumaq
- Database əməliyyatları
🔹 Side effect olmayan funksiyaya nümunə (Pure Function):
Bu funksiya:
- Eyni input üçün həmişə eyni nəticəni verir.
- Xarici dünyada heç nəyi dəyişmir.
➡️ Bu, pure function-dur və side effect yoxdur.
Side effect olan funksiya:
Get terlan sireliyev’s stories in your inbox
Join Medium for free to get updates from this writer.
Bu funksiya:
- Qlobal
countdəyişənini dəyişir - Console-a yazı çıxarır
➡️ Yəni iki yan təsiri var.
✅ Niyə “Side Effect”lərdən çəkinmək lazımdır?
- Kodun təmizliyi azalır
— Funksiya bir neçə yerdə dəyişiklik edirsə, onu başa düşmək və təmir etmək çətinləşir. - Test yazmaq çətin olur
— Yan təsirli funksiyalar test edilərkən nəticə dəyişə bilər. - Debug çətinləşir
— Bir bug haradan qaynaqlandığını tapmaq çox vaxt aparır. - Kodun təkrar istifadə imkanları azalır
— Pure funksiyalar istənilən yerdə rahat istifadə edilə bilər.
🧠 “Avoid Side Effects” harada vacibdir?
- React komponentləri (xüsusilə
useEffect-dən düzgün istifadə zamanı) - Redux və ya
useReducerkimi state idarəedicilərində - Unit test yazarkən
- Server-side kodlarda, məsələn
Node.jsbackend-lərində
Side effect-ə dair bir neçə kod parçası:







