İçeriğe geç

Uzun Metot (ARCH6180)

Anahtar ruby.quality.method-too-long · Önem info · Kategori quality

Gövdesi belirlenen satır eşiğini aşan metotlar birden çok sorumluluğu üstlenir; okunması, test edilmesi ve değiştirilmesi zorlaşır.

def process_order(order)
validate(order)
total = 0
order.items.each { |i| total += i.price * i.qty }
apply_discount(order, total)
charge_card(order)
send_receipt(order)
update_inventory(order)
notify_warehouse(order)
log_metrics(order)
end
def process_order(order)
validate(order)
total = calculate_total(order)
charge(order, total)
fulfill(order)
end

Metodu anlamlı adlandırılmış küçük yardımcı metotlara bölerek her birini tek bir sorumluluğa indirgeyin.