İçeriğe geç

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.

<?php
function ship(Order $o): void
{
if ($o->isPaid()) {
if ($o->hasStock()) {
if (!$o->isShipped()) {
$this->dispatch($o);
}
}
}
}
<?php
function ship(Order $o): void
{
if (!$o->isPaid()) return;
if (!$o->hasStock()) return;
if ($o->isShipped()) return;
$this->dispatch($o);
}

Koşulları erken dönüş guard’larına çevirerek iç içe geçme derinliğini azaltın.