Uzun metot (ARCH7180)
Anahtar php.quality.long-method · Önem info · Kategori quality
Gövdesi belirlenen eşiği aşan metotlar genellikle birden çok sorumluluğu üstlenir, okunması güçtür ve test edilmesi zorlaşır. Mantığı daha küçük, adlandırılmış metotlara ayırın.
Hatalı
Bölüm başlığı “Hatalı”<?phpfunction processOrder(array $order): void{ $total = 0; foreach ($order['items'] as $i) { $total += $i['price'] * $i['qty']; } if ($order['coupon'] === 'SAVE10') { $total *= 0.9; } if ($total > 100) { $total -= 5; } $tax = $total * 0.18; $total += $tax; file_put_contents('invoice.txt', "Total: $total"); mail($order['email'], 'Order', "Total: $total"); // ... daha onlarca satır ...}<?phpfunction processOrder(array $order): void{ $total = applyDiscounts(subtotal($order['items']), $order['coupon']); $total += $total * 0.18; writeInvoice($total); notifyCustomer($order['email'], $total);}Düzeltme
Bölüm başlığı “Düzeltme”Metodu tek sorumluluk taşıyan daha küçük, adlandırılmış yardımcı metotlara bölün.