Sobes.tech
Junior

Proqramlaşdırma kontekstində yan təsirlər nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Yan təsir, proqramın görünən vəziyyətində, funksiyanın geri qaytardığı dəyərdən kənarda baş verən dəyişiklikdir.

Əsas yan təsir növləri:

  • Qlobal dəyişənlərin və ya obyektlərin vəziyyətinin dəyişdirilməsi.
  • Məlumatların giriş/çıxışı (fayldan oxuma, konsola yazma, şəbəkə sorğuları).
  • Verilənlər bazasının məzmununun dəyişdirilməsi.
  • Funksiya daxilində idarə olunmayan istisna atılması.
  • Brauzerdə DOM ağacının dəyişdirilməsi.
  • Digər yan təsirli funksiyaların çağırılması.

Təmiz funksiyanın nümunəsi (yan təsirlər olmadan):

// Funksiya sadəcə iki ədədi toplayır və nəticəni qaytarır
function add(a, b) {
  return a + b;
}

Yan təsirli funksiyanın nümunəsi (qlobal dəyişəni dəyişdirmək):

let total = 0;

// Funksiya dəyər əlavə edir və qlobal dəyişəni dəyişir
function addToTotal(value) {
  total += value; // Yan təsir: qlobal dəyişənin dəyişdirilməsi
  return total;
}

Yan təsirlərin təsiri:

  • Test etməyi çətinləşdirir.
  • Potensial yarış şəraitləri səbəbindən kodun paralel icrasını çətinləşdirir.
  • Kodu daha az proqnozlaşdırıla bilən və anlamağı çətinləşdirir.
  • Funksional proqramlaşdırma prinsiplərinə zidd ola bilər.

Frontend inkişafında, yan təsirlər tez-tez:

  • DOM manipulyasiyası.
  • HTTP sorğuları.
  • Local Storage və ya Session Storage ilə əməliyyatlar.
  • Üçüncü tərəf API-ləri ilə işləmək.

Yan təsirlərin idarə olunması, etibarlı və dəstəklənən tətbiqlər qurmaqda vacib vəzifədir. Redux kimi nümunələr (durum idarə edilməsinə önəm verən və yan təsirləri hərəkətlər/sagas daxilində ayıran) və ya mümkün qədər saf funksiyaların istifadəsi, onların mənfi təsirlərini minimuma endirməyə kömək edir.