Sobes.tech
Junior

Programlama bağlamında yan etkiler nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yan etki, bir fonksiyonun döndürdüğü değerin dışında gerçekleşen, bir programın görünür durumundaki değişikliktir.

Ana yan etki türleri:

  • Küresel değişkenlerin veya nesne durumlarının değiştirilmesi.
  • Veri giriş/çıkışı (bir dosyadan okuma, konsola yazma, ağ istekleri).
  • Bir veritabanının içeriğinin değiştirilmesi.
  • Fonksiyon içinde işlenmeyen bir istisna atılması.
  • Tarayıcıdaki DOM ağacının değiştirilmesi.
  • Yan etkili diğer fonksiyonların çağrılması.

Saf bir fonksiyon örneği (yan etki yok):

// Sadece iki sayıyı toplayan ve sonucu döndüren fonksiyon
function add(a, b) {
  return a + b;
}

Yan etki içeren fonksiyon örneği (küresel değişkeni değiştirme):

let total = 0;

// Bir değeri toplayan ve küresel değişkeni değiştiren fonksiyon
function addToTotal(value) {
  total += value; // Yan etki: küresel değişkenin değiştirilmesi
  return total;
}

Yan etkilerin etkisi:

  • Testleri zorlaştırır.
  • Potansiyel yarış koşulları nedeniyle kodun paralel çalışmasını güçleştirir.
  • Kodu daha az öngörülebilir ve anlamayı zorlaştırır.
  • Fonksiyonel programlama ilkelerini ihlal edebilir.

Frontend geliştirmede, yan etkiler genellikle şunlarla ilişkilidir:

  • DOM manipülasyonu.
  • HTTP istekleri.
  • Local Storage veya Session Storage ile işlemler.
  • Üçüncü taraf API'leri ile çalışma.

Yan etkilerin yönetimi, güvenilir ve sürdürülebilir uygulamalar inşa etmekte önemli bir görevdir. Redux gibi desenler (durum yönetimini öngörülebilir kılmaya ve yan etkileri eylemler/sagas içinde ayırmaya odaklanır) veya mümkün olan yerlerde saf fonksiyonların kullanılması, olumsuz etkilerini en aza indirmeye yardımcı olur.