AlpinNext
+90 (510) 220 33 51 bilgi@alpinnext.tr

Ödeme YapSipariş TakibiDestekSSS

₺ TL$ USD€ EUR£ GBPCHF CHFSAR SAR

Kurumsal Hakkımızda Referanslar Müşteri Görüşleri Bayilerimiz İnsan Kaynakları Akademi Kampanyalar Blog Fiyat Listesi E-Katalog Güncellemeler İletişim

Programlamada Fonksiyonlar: Nedir, Neden ve Nasıl Kullanılır?

Kodlamaya başlayan herkes kısa süre içinde aynı satırları tekrar tekrar yazdığını fark eder. Fonksiyonlar tam olarak bu sorunu çözer: bir işi bir kez tanımlarsınız, ona bir ad verirsiniz ve ihtiyaç olduğunda o adı çağırırsınız. Bu yazıda fonksiyonun ne olduğunu, neden bu kadar önemli olduğunu ve iyi bir fonksiyonun nasıl yazıldığını kod bilgisi az olan okurlar için de anlaşılır biçimde anlatıyoruz.

Fonksiyon nedir?

Fonksiyonu bir mutfak tarifine benzetebilirsiniz. Tarifin bir adı vardır ("mercimek çorbası"), malzemeleri vardır ve sonunda ortaya bir ürün çıkar. Tarifi her pişirişinizde yeniden yazmazsınız; adını bilmeniz yeterlidir.

Programlamada da durum aynıdır:

  • Ad: Fonksiyonu çağırırken kullandığınız isim, örneğin kdvEkle.
  • Parametreler (girdiler): Fonksiyonun çalışması için gereken bilgiler, örneğin tutar ve KDV oranı.
  • Gövde: Yapılacak işin adımları.
  • Dönüş değeri (çıktı): İşin sonucu, örneğin KDV dahil tutar.

Örneğin kdvEkle(1000, 20) çağrısı 1000 liralık tutara yüzde 20 KDV ekleyip 1200 sonucunu döndürür. Aynı fonksiyonu sepet sayfasında, faturada ve teklif formunda ayrı ayrı yazmadan kullanabilirsiniz. Hemen her programlama dilinde (JavaScript, Python, PHP ve diğerleri) yazım biçimi biraz farklı olsa da mantık aynıdır.

Neden fonksiyon kullanırız?

1. Tekrarı önler

Aynı hesaplama beş farklı yerde yazılıysa, KDV oranı değiştiğinde beş yeri birden düzeltmeniz gerekir ve birini unutma ihtimaliniz yüksektir. Fonksiyonla tek yeri değiştirirsiniz.

2. Kodu okunur yapar

Yirmi satırlık bir hesaplamanın yerine kargoUcretiHesapla(sepet) yazdığınızda, kodu okuyan kişi ne olduğunu ayrıntıya girmeden anlar. Altı ay sonra kendi kodunuzu okuyan kişi de çoğu zaman sizsiniz.

3. Hata bulmayı kolaylaştırır

Bir sorun çıktığında küçük, tek işe odaklanmış fonksiyonları tek tek deneyerek hatanın nerede olduğunu daha hızlı bulursunuz.

4. Test etmeyi mümkün kılar

Girdisi ve çıktısı belli bir fonksiyonu otomatik testlerle kontrol edebilirsiniz: "1000 ve 20 verildiğinde 1200 dönmeli." Kod büyüdükçe bu testler, yapılan bir değişikliğin başka bir yeri bozup bozmadığını gösterir.

5. İşi paylaştırmayı kolaylaştırır

Bir ekipte herkes farklı fonksiyonlar üzerinde çalışabilir. Fonksiyonun ne aldığı ve ne döndürdüğü belli olduğu sürece içini kimin nasıl yazdığı diğerlerini etkilemez.

İyi bir fonksiyon nasıl yazılır?

Tek bir iş yapsın

"Siparişi kaydet, e-posta gönder, stoğu düş ve rapor oluştur" diyen tek bir fonksiyon yerine her biri için ayrı fonksiyon yazın. Fonksiyonun ne yaptığını anlatırken cümlede "ve" kelimesini sık kullanıyorsanız muhtemelen bölünmesi gerekiyordur.

Adı ne yaptığını söylesin

islem2 ya da hesapla gibi adlar bir şey anlatmaz. indirimliFiyatBul, telefonNumarasiGecerliMi gibi adlar fonksiyonun amacını açıkça söyler. Genellikle bir fiille başlamak iyi bir alışkanlıktır.

Az parametre alsın

Altı yedi parametre alan bir fonksiyonu doğru sırayla çağırmak zorlaşır. Parametre sayısı artıyorsa bilgileri tek bir nesne ya da yapı içinde göndermeyi düşünün ya da fonksiyonu bölün.

Beklenmeyen yan etkisi olmasın

Adı fiyatHesapla olan bir fonksiyonun gizlice veritabanına kayıt yapması, onu kullanan kişiyi şaşırtır. Fonksiyon adının söylediğinden fazlasını yapmamalıdır.

Hatalı girdiyi ele alsın

Tutar yerine boş değer ya da eksi bir sayı gelirse ne olacak? İyi bir fonksiyon böyle durumlarda anlamlı bir hata verir ya da güvenli bir sonuç döndürür; sessizce yanlış hesap yapmaz.

Kısa kalsın

Kesin bir satır sınırı yoktur, ama ekrana sığmayan bir fonksiyon genellikle birden fazla iş yapıyordur.

Yeni başlayanların sık yaptığı hatalar

  • Fonksiyonu tanımlayıp çağırmayı unutmak ya da tanımlamadan önce çağırmaya çalışmak.
  • Sonucu ekrana yazdırmakla sonucu döndürmeyi karıştırmak. Yazdırılan değer başka bir hesapta kullanılamaz; döndürülen değer kullanılabilir.
  • Fonksiyon içinde dışarıdaki değişkenleri değiştirmek ve bunun başka yerleri nasıl etkilediğini takip edememek.
  • Kopyala-yapıştır ile neredeyse aynı iki fonksiyon yazmak; farkı bir parametreyle çözmek çoğu zaman mümkündür.

Pratik yapmak için öneriler

  1. Günlük hayattan küçük hesaplar seçin: KDV ekleme, indirim uygulama, iki tarih arasındaki gün sayısı.
  2. Her biri için önce girdiyi ve beklenen çıktıyı kâğıda yazın, sonra fonksiyonu yazın.
  3. Fonksiyonu farklı değerlerle, özellikle sıfır, boş ve çok büyük değerlerle deneyin.
  4. Daha önce yazdığınız uzun bir kodu açın ve tekrar eden kısımları fonksiyonlara ayırın.

İşletmeniz açısından neden önemli?

Kendiniz kod yazmasanız bile, web sitenizi ya da uygulamanızı geliştiren ekibin kodu düzenli fonksiyonlara ayırıp ayırmadığı sizi doğrudan etkiler. Düzenli yazılmış bir sistemde yeni bir özellik eklemek ya da bir fiyat kuralını değiştirmek daha az zaman alır ve daha az hata çıkarır. İşinize özel bir yazılım düşünüyorsanız web yazılım geliştirme hizmetimiz sayfasında nasıl çalıştığımızı görebilirsiniz.

Özet

  • Fonksiyon, adı olan, girdi alıp sonuç döndüren bir iş parçasıdır.
  • Tekrarı azaltır, okunurluğu artırır, test ve bakım işini kolaylaştırır.
  • İyi fonksiyon tek iş yapar, adı açıktır, az parametre alır ve sürpriz yapmaz.

Yazılım projenizle ilgili bir sorunuz olursa alpinnext.tr adresinden ya da WhatsApp üzerinden 0510 220 33 51 numarasından bize ulaşabilirsiniz.

Bu yazıyı paylaşın

Merhaba! 👋Size nasıl yardımcı olabilirim?