Okunabilirlik Tuzakları
İfadeleri anlaşılır tutun.
Okunabilirlik Tuzakları, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
İfade Gücü Okunabilirliğe Zarar Verebilir
Üçlü ifadeler özlüdür; ancak onları gereğinden fazla kullanmak kodu anlaşılmaz hâle getirebilir.
Amaç en az karakteri kullanmak değil, açıklıktır. Okuyucunun bir bakışta çözümleyemediği bir satır, ortaya çıkmayı bekleyen bir hatadır.
Bu derste yaygın tuzaklar ve bunlardan nasıl kaçınacağınız ele alınmaktadır.
Tuzak: Derin İç İçe Geçme
Tek bir satıra çok sayıda üçlü ifade yerleştirmek okumayı zorlaştırır ve hata yapmayı kolaylaştırır.
Eklenen her seviye, mantığı izlemek için gereken zihinsel çabayı katlar.
// hard to follow on one line
String g = s>=90?"A":s>=80?"B":s>=70?"C":s>=60?"D":"F";Çözüm: if/else if Kullanın
Birçok dalınız olduğunda, uzun bir zincir yerine if/else if merdiveni daha anlaşılırdır.
Her koşul kendi satırında yer alır; böylece kolayca taranabilir ve hataları ayıklanabilir.
String g;
if (s >= 90) g = "A";
else if (s >= 80) g = "B";
else if (s >= 70) g = "C";
else g = "F";Tuzak: Eksik Parantezler
Bir üçlü ifadeyi parantez kullanmadan + ile birleştirmek anlamı değiştirir.
+, ?: işlemine göre daha sıkı bağlandığı için birleştirme, koşulunuzun veya değerinizin bir bölümünü içine alabilir.
int n = 5;
// surprising: + groups before ?:
String out = "n is " + n > 3 ? "big" : "small"; // does NOT compile as intendedÇözüm: Üçlü İfadeyi Paranteze Alın
Dizge birleştirme içinde kullanılan üçlü ifadeleri her zaman paranteze alın.
Bu, sınırları açıkça gösterir ve beklediğiniz sonucu elde etmenizi sağlar.
public class Main {
public static void main(String[] args) {
int n = 5;
String out = "n is " + (n > 3 ? "big" : "small");
System.out.println(out);
}
}Tuzak: İçerideki Yan Etkiler
Yan etkileri olan yöntem çağrılarını her iki dala da yerleştirmek, neyin çalıştığını gizler.
Bir bakışta hangi çağrının çalışacağı belli değildir; ayrıca iki daldan yalnızca biri çalışır.
Eylemler önemli olduğunda if/else kullanmayı tercih edin.
// unclear which side effect happens
boolean ok = check();
int r = ok ? save() : rollback();Tuzak: Uzun Dal Değerleri
Doğru veya yanlış değer uzun bir ifadeyse, üçlü ifade bir metin duvarına dönüşür.
Karmaşık alt ifadeleri önce adlandırılmış değişkenlere çıkarın, ardından kısa bir üçlü ifade kullanın.
// cramped
double total = vip ? base*0.8 + tax + ship - coupon : base + tax + ship;Çözüm: Ara Değerlere Ad Verin
Ara toplamları ayrı değişkenlere çıkarmak, seçimi açık ve kendi kendini açıklayan hâle getirir.
Üçlü ifade artık doğal dil gibi okunur.
public class Main {
public static void main(String[] args) {
boolean vip = true;
double regular = 100.0, discounted = 80.0;
double total = vip ? discounted : regular;
System.out.println(total);
}
}Tuzak: Mantıksal Gereksizlik
flag ? true : false yazmak gereksizdir; koşul zaten mantıksal değerin kendisidir.
Koşulu doğrudan kullanın. Benzer şekilde, flag ? false : true ifadesi yalnızca !flag demektir.
boolean active = user != null;
// not: user != null ? true : false
boolean inactive = user == null;Çok Satırlı Üçlü İfadeleri Biçimlendirme
Üçlü ifade kalmak zorundaysa biçimlendirme yardımcı olur. ? ve : işaretlerini satır başlarına yerleştirip hizalayın.
Bu, zinciri okunabilir bir koşul merdivenine dönüştürür.
String tier = points >= 1000 ? "gold"
: points >= 500 ? "silver"
: "bronze";Okunabilirlik Denetim Listesi
Bir üçlü ifadeyi kodunuza eklemeden önce şunları sorun: Tek ve basit bir seçim mi? Türler uyumlu mu? Parantezler açık mı?
Herhangi bir yanıt hayırsa if/else kullanmayı veya değişkenleri ayırmayı tercih edin. Okunabilir kod, zekice görünen koddan daha iyidir.
Kısa Sınama
Daha temiz yeniden yazımı bulun.
Özet
Üçlü ifadeler yalnızca basit kaldıklarında faydalıdır. Derin iç içe geçmelerden, eksik parantezlerden, yan etkilerden ve mantıksal gereksizliklerden kaçının.
Karmaşık değerleri adlandırılmış değişkenlere çıkarın ve uzun zincirleri merdiven biçiminde düzenleyin.
Emin olmadığınızda, en açık okunan biçimi seçin.
Sıkça Sorulan Sorular
“Okunabilirlik Tuzakları” dersi ücretsiz mi?
Evet — “Okunabilirlik Tuzakları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Okunabilirlik Tuzakları” dersinde ne öğreneceğim?
İfadeleri anlaşılır tutun. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Okunabilirlik Tuzakları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Üçlü İşleç
- Üçlü İşleçleri İç İçe Kullanma
- Üçlü İşleç ve if/else
- Okunabilirlik Tuzakları