JavaScript’te “Helper Functions” (Yardımcı Fonksiyonlar)
Bu yazımızda, JavaScript’te sıkça karşımıza çıkan ve kodlarımızı daha optimize, okunabilir ve yönetilebilir kılmak amacıyla kullandığımız “helper functions” (yardımcı fonksiyonlar) kavramını detaylarıyla ele alacağız.
JavaScript’te “Helper Functions” Kullanımı
Adından da anlaşılacağı üzere, “yardımcı fonksiyonlar” (helper functions) ana işlemlere destek sağlar. Sıkça karşımıza çıkan bu fonksiyonlar, genellikle spesifik, sınırlı ve belirgin bir görevi yerine getirmek üzere tasarlanmıştır.
Bu fonksiyonlar, genellikle basit, net ve tek bir işlevi gerçekleştirdiklerinden daha kompleks fonksiyonların veya işlemlerin daha okunabilir ve yönetilebilir olmasına yardımcı olur. Zira bir program yazarken, bazı işlevlerin tekrar tekrar kullanılmasını gerektirecek durumlarla karşılaşabiliriz. Örneğin, bir tarihi belirli bir formatta ekrana yazdırmak, bir diziyi belirli bir kritere göre filtrelemek ya da belirli bir matematiksel işlemi uygulamak gibi.
İşte bu tür tekrar eden işlevleri her seferinde yeniden yazmak yerine, bu işlevleri bir fonksiyon halinde tanımlayıp gerektiğinde bu fonksiyonları çağırarak hem kodun okunabilirliğini artırır, hem de kod tekrarını azaltırız.
Örnek olarak bir e-ticaret sitesini yönettiğimizi düşünelim. Bu sitede bir kullanıcının alışveriş sepetine eklediği ürünlerin toplam fiyatını hesaplayan bir fonksiyonumuz olsun. Ancak bu hesaplama sırasında çeşitli indirimler, kuponlar veya vergileri dikkate alınması gerekebilir.
Bu tür bir durumda, ana fonksiyonumuzu toplam fiyatı hesaplayacak şekilde ayarlayıp, yardımcı fonksiyonlarımızı indirim, kupon ve vergi hesaplamalarını gerçekleştirmesi için kullanabiliriz. Bakınız:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
// Yardımcı fonksiyonlar function indirimUygula(fiyat, indirimOrani) { return fiyat - (fiyat * indirimOrani / 100); } function kuponUygula(fiyat, kuponDegeri) { return fiyat - kuponDegeri; } function vergiEkle(fiyat, vergiOrani) { return fiyat + (fiyat * vergiOrani / 100); } // Ana fonksiyon function toplamFiyatiHesapla(sepet) { let toplam = 0; for(let urun of sepet) { let fiyat = urun.fiyat; if (urun.indirimOrani) { fiyat = indirimUygula(fiyat, urun.indirimOrani); } if (urun.kuponDegeri) { fiyat = kuponUygula(fiyat, urun.kuponDegeri); } fiyat = vergiEkle(fiyat, 8); // %8 KDV ekleyelim toplam += fiyat; } return toplam; } const sepetim = [ { ad: "Ayakkabı", fiyat: 200, indirimOrani: 10 }, { ad: "Gömlek", fiyat: 100, kuponDegeri: 20 } ]; console.log(toplamFiyatiHesapla(sepetim)); // Sonuç: 306 (İndirim, kupon ve vergi dikkate alındı) |
Yukarıdaki örneğimizde, toplamFiyatiHesapla
ana fonksiyonunun işleyişini karmaşıklaştırmadan, yardımcı fonksiyonlar sayesinde indirim, kupon ve vergi işlemlerini ayrı ayrı ele alarak daha okunabilir ve yönetilebilir bir kod yapısı oluşturduk.