Uzun Metot (ARCH4180)
Anahtar java.quality.long-method · Önem info · Kategori quality
Çok uzun metotlar tek bir sorumluluğu aşar, okunması ve test edilmesi zorlaşır. Mantığı amaca göre adlandırılmış yardımcı metotlara bölün.
Hatalı
Bölüm başlığı “Hatalı”void processOrder(Order o) { validate(o); // 40+ satır: fiyatlandırma, vergi, indirim, // stok düşme, fatura, e-posta, loglama... double tax = o.total() * 0.18; double discount = o.total() > 1000 ? 0.1 : 0; inventory.deduct(o.items()); invoices.create(o, tax, discount); mailer.send(o.customerEmail(), buildBody(o)); audit.log("order " + o.id());}void processOrder(Order o) { validate(o); Pricing p = price(o); inventory.deduct(o.items()); invoices.create(o, p); notify(o);}Düzeltme
Bölüm başlığı “Düzeltme”Metodu, her biri tek bir işi yapan küçük ve isimlendirilmiş yardımcı metotlara ayırın.