Decompose Conditional
Before Code
[code language=”ruby”]
if condition
charge = quantity * _winterRate + _winterServiceCharge
else
charge = quantity * _summerRate;
end
[/code]
After Code
[code language=”ruby”]
if condition
charge = winterCharge(quantity)
else
charge = summerCharge(quantity)
end
def winterCharge(quantity)
quantity * _winterRate + _winterServiceCharge
end
def summerCharge(quantity)
quantity * _summerRate
end
[/code]
Decompose Conditional เราจะทำการแตกแยกการกระทำต่างๆภายใน if else โดยใช้ method มาช่วย ซึ่งจะเห็นได้ว่า เวลาการแก้ไขเราจะไปแก้ไขโฟกัส อยู่ที่จุดๆเดียว ทำให้เวลาการ debug เป็นไปได้อย่างรวดเร็วไม่ต้องมานั่งไล่โค้ดภายใต้ if else