DEV Community

Barış Bideratan
Barış Bideratan

Posted on

PHP’de Early Return: Kodunuzu Temizleyen Basit Bir Yaklaşım

Merhaba Arkadaşlar!

Bugün sizlere yazdığımız kodları daha temiz ve okunabilir hale getiren bir yaklaşımdan bahsedeceğim: Early Return (Erken Dönüş). PHP'de bu yaklaşımı kullanarak hem kod yazma deneyiminizi iyileştirebilir hem de projelerinizin daha bakımı kolay bir hale gelmesini sağlayabilirsiniz.

Early Return Nedir?

Early return, fonksiyonların başında belirli bir koşul karşılandığında veya karşılanmadığında fonksiyonu erken sonlandırmak için kullandığımız bir tekniktir. Bu yöntem, kod içinde gereksiz iç içe bloklardan kurtulmamıza yardımcı olur ve yazım sürecini daha akıcı hale getirir.

Kısaca, bir “guard clause” olarak da adlandırılan bu teknik, “Eğer bu durum karşılanmıyorsa, şu anda dön” mantığıyla çalışır.

Neden Early Return Kullanmalıyız?

Kod yazarken hepimizin amacı daha okunabilir, anlaşılır ve bakımı kolay yapılar oluşturmaktır. Early return tam olarak bunu sağlar:

  1. Okunabilirlik Artar: Kodunuz, gereksiz iç içe bloklardan kurtulduğu için daha temiz ve kolay anlaşılabilir hale gelir.
  2. Hata Kontrolü Daha Kolay Olur: Hata durumlarını hemen kontrol edip ele almak, kodun ilerleyen kısımlarında yanlışların birikmesini önler.
  3. Bakım Kolaylığı: Projenize yeni biri katıldığında veya siz bir süre sonra kodunuza geri döndünüzde, early return kullanan yapılar daha kolay çözülür.
  4. Performans: Gereksiz şekilde fonksiyonun ilerleyen kısımlarını çalıştırmak yerine, önceden dönülerek zamandan tasarruf edilir.

Early Return Nasıl Kullanılır?

Hadi bir senaryo üzerinden early return'i inceleyelim.

Klasik Yaklaşım

Bir kullanıcının yaşını kontrol ettiğimizi düşünelim:

function checkAge($age) {
    if ($age >= 18) {
        echo "Giriş yapabilirsiniz.";
    } else {
        echo "Yaş sınırına uygun değilsiniz.";
    }
}
Enter fullscreen mode Exit fullscreen mode

Bu kod işlevsel gibi görünse de, bir "else" bloğu barındırdığı için okunabilirliği bir miktar düşürebilir. Kod ilerledikçe iç içe geçen blokların arttığını hayal edin.

Early Return ile

Aynı senaryoyu early return kullanarak yazalım:

function checkAge($age) {
    if ($age < 18) {
        echo "Yaş sınırına uygun değilsiniz.";
        return;
    }

    echo "Giriş yapabilirsiniz.";
}
Enter fullscreen mode Exit fullscreen mode

Şimdi bu kodun farklılıklarına bakalım:

  • Hata durumunu başta kontrol ettik ve hemen geri döndük.
  • Fonksiyonun geri kalanı yalın ve anlaşılır oldu.
  • else bloğunu ortadan kaldırdık.

Daha Karmaşık Bir Örnek

Bir kullanıcının sisteme giriş yapması gereken bir senaryoyu düşünelim:

function loginUser($user) {
    if (!$user) {
        echo "Kullanıcı bulunamadı.";
        return;
    }

    if (!$user->isActive) {
        echo "Kullanıcı aktif değil.";
        return;
    }

    echo "Hoş geldiniz, {$user->name}!";
}
Enter fullscreen mode Exit fullscreen mode

Burada farklı durumları teker teker kontrol edip her durumda fonksiyondan erken çıkıyoruz. Bu, iç içe bloklardan kurtulmamıza yardımcı oluyor. Özellikle fonksiyonlarınızda birden fazla kontrol noktaları varsa, bu yaklaşımı kullanmanızı şiddetle tavsiye ederim.

Unutmayın, kod yazarken amacımız sadece çalışan bir sistem değil, aynı zamanda kolay anlaşılabilir bir sistem oluşturmaktır. Siz de early return'i projelerinizde denemeyi unutmayın!

Görüşlerinizi yorumlarda bekliyorum! 😊

Top comments (0)