Ek bilgiler
📜 008-002-else-Kullanimi-ve-Kullanirken-Dikkat-Etmeniz-Gerekenler.md
else Kullanımı ve Mantıksal Karar Bloklarında Dikkat Edilmesi Gerekenler
Kullanıcıdan yaş bilgisi alırken "DDD" gibi anlamsız bir metin girildiğinde programın "18 yaşından küçüksünüz" yanıtını vermesi mantıksal bir hatadır. Bilgisayar kendi kendine hata yapmaz; buradaki kodu kurgulayan ve sorumluluğu üstlenmesi gereken kişi biziz. Bir bilginin sayısal formatta (is_digit) olup olmamasıyla, 18 yaşından büyük olup olmaması tamamen ayrı mantıksal adımlardır. Problemi parçalamadan genel geçer bir else bloğuna bağlamak, kullanıcıya yanlış bilgi dönmemize sebep olur.
Bu tür durumlarda ilk adım, geçersiz girdiyi tespit edip hatalı akışı erkenden kesmektir. Kullanıcı sayısal bir değer girmediyse işlemi hemen orada sonlandırıp doğru geri bildirimi vermek çok daha temiz bir yaklaşımdır. Ardından gelen geçerli veri için iç içe (nested) kontrol blokları kurgulayabiliriz. İster olumsuz durumu en başta yakalayıp reddedin, ister olumlu durumu doğrulayıp ilerleyin; önemli olan kodun okunabilirliği ve her koşulun net ayrılmasıdır.
Unutulmaması gereken en kritik kural, else ifadesinin "değilse" anlamına gelen son derece geniş bir kapsama sahip olmasıdır. Yeterince filtreleme yapmadan yazılan her else, öngörülemeyen tüm hatalı girdileri kucaklar. Bu yüzden bir else bloğu tanımlamadan önce kurgulanan mantığı defalarca gözden geçirmek gerekir.
📌 Hatırlanması Gereken Temel Noktalar (Takeaways)
- Mantıksal Sorumluluk: Bilgisayar mantıksal hata yapmaz; eksik veya yanlış kurgulanan karar mekanizmalarının sorumluluğu yazılımcıya aittir.
- Koşulları Birbirinden Ayırma: Veri tipinin doğruluğu (sayısal olup olmadığı) ile değerin büyüklük kontrolü birbirinden bağımsız kontrol edilmelidir.
- Erken Dönüş (Early Exit / Guard Clause): Hatalı veya geçersiz girdileri akışın başında yakalayıp kesmek, kodun geri kalanını sade ve güvenli kılar.
- Geniş Kapsam Tehlikesi:
else bloğu spesifik bir durum değil, geriye kalan her şeyi temsil eder; bu yüzden koşullar net filtrelenmelidir.
- Kod Okunabilirliği ve Akış Netliği: İç içe kontrol blokları kurarken kodun nasıl daha rahat okunup anlaşılacağı ön planda tutulmalıdır.
📚 Ek Kaynaklar ve Derinlemesine Okuma Önerileri (Ek Bilgi)