Derin İç İçe Geçme (ARCH6184)
Anahtar ruby.quality.deep-nesting · Önem warning · Kategori quality
Eşik değerin ötesinde iç içe geçmiş if/while/begin blokları okunması zor, izlenmesi güç akışlar üretir ve genellikle erken dönüş veya çıkarma ile düzeltilebilir.
Hatalı
Bölüm başlığı “Hatalı”def grade(user) if user if user.active? if user.score > 50 return "pass" end end end "fail"enddef grade(user) return "fail" unless user&.active? return "fail" unless user.score > 50 "pass"endDüzeltme
Bölüm başlığı “Düzeltme”Koruma cümleleriyle erken dönün veya iç içe geçmiş blokları ayrı metotlara çıkararak derinliği azaltın.