Ruby Style and Project Organization
Method Extraction
Small methods make a project easier to scan, test, and reuse.
Method Extraction
method_extraction.rb
def invoice_total(subtotal, tax_rate)
tax = (subtotal * tax_rate).round
subtotal + tax
end
subtotal =
tax_rate = 0.1
total = invoice_total(subtotal, tax_rate)
label = total >= 100 ? "large" : "standard"
puts "subtotal=#{subtotal}"
puts "tax_rate=#{tax_rate}"
puts "total=#{total}"
puts "label=#{label}"
def invoice_total(subtotal, tax_rate)
tax = (subtotal * tax_rate).round
subtotal + tax
end
subtotal =
tax_rate = 0.1
total = invoice_total(subtotal, tax_rate)
label = total >= 100 ? "large" : "standard"
puts "subtotal=#{subtotal}"
puts "tax_rate=#{tax_rate}"
puts "total=#{total}"
puts "label=#{label}"
def invoice_total(subtotal, tax_rate)
tax = (subtotal * tax_rate).round
subtotal + tax
end
subtotal =
tax_rate = 0.1
total = invoice_total(subtotal, tax_rate)
label = total >= 100 ? "large" : "standard"
puts "subtotal=#{subtotal}"
puts "tax_rate=#{tax_rate}"
puts "total=#{total}"
puts "label=#{label}"
extraction
Move repeated calculations into a named method so the calling code reads like a sequence of decisions.