İçeriğe geç

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.

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);
}

Metodu, her biri tek bir işi yapan küçük ve isimlendirilmiş yardımcı metotlara ayırın.