İçeriğe geç

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.

def grade(user)
if user
if user.active?
if user.score > 50
return "pass"
end
end
end
"fail"
end
def grade(user)
return "fail" unless user&.active?
return "fail" unless user.score > 50
"pass"
end

Koruma cümleleriyle erken dönün veya iç içe geçmiş blokları ayrı metotlara çıkararak derinliği azaltın.