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.
Hatalı
Bölüm başlığı “Hatalı”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)enddef process_order(order) validate(order) total = calculate_total(order) charge(order, total) fulfill(order)endDüzeltme
Bölüm başlığı “Düzeltme”Metodu anlamlı adlandırılmış küçük yardımcı metotlara bölerek her birini tek bir sorumluluğa indirgeyin.