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.