Derin iç içe geçme (ARCH7184)
Anahtar php.quality.deep-nesting · Önem warning · Kategori quality
Derin iç içe geçmiş if/for/while blokları okunabilirliği düşürür ve bilişsel yükü artırır. Erken dönüş (guard clause) ile düzleştirin.
Hatalı
Bölüm başlığı “Hatalı”<?phpfunction ship(Order $o): void{ if ($o->isPaid()) { if ($o->hasStock()) { if (!$o->isShipped()) { $this->dispatch($o); } } }}<?phpfunction ship(Order $o): void{ if (!$o->isPaid()) return; if (!$o->hasStock()) return; if ($o->isShipped()) return;
$this->dispatch($o);}Düzeltme
Bölüm başlığı “Düzeltme”Koşulları erken dönüş guard’larına çevirerek iç içe geçme derinliğini azaltın.