Replace Nested Conditional with Guard Clauses

Before Code

[code language=”ruby”]
def getGrade(score)
if score >= 80
return "A"
elsif score >=70
return "B"
elsif score >=60
return "C"
elsif score >= 50
return "D"
else
return "F"
end
end
[/code]

After Code

[code language=”ruby”]
def getGrade(score)
return "A" if score >= 80
return "B" if score >= 70
return "C" if score >= 60
return "D" if score >= 50
return "F"
end
[/code]

เปลี่ยนจากการใช้ Nested Conditional โดยที่เมื่อเจอเงื่อนที่ต้องการแล้วให้กระทำการเลย เวลาการแก้ไขหรือ debug จะดูง่าย เพราะโค้ดจะไม่ซ้อนอยู่ใน if else หลายๆชั้น