Decompose Conditional

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