Как сократить количество если еще операторы в PHP?

См. ТАК: действительно ли UML практичен? еще для некоторых ответов по теме. Это, кажется, что UML все еще полезен для передачи понятий и систем. Люди, кажется, используют его в качестве описания, а не определения. При разделении UML от самой реализации Вы столкнетесь с проблемой, сохраняющей два в синхронизации.

7
задан Steven 26 November 2009 в 15:04
поделиться

4 ответа

Реорганизуйте код в более мелкие рабочие единицы. Слишком много условной логики - это запах кода и обычно указывает на необходимость рефакторинга функции.

18
ответ дан 6 December 2019 в 04:49
поделиться

Используйте тернарный оператор, реорганизуйте свой код, напишите функцию или класс, который сделает все необходимое, если операторы else.

3
ответ дан 6 December 2019 в 04:49
поделиться

По возможности старайтесь использовать "ранний возврат", чтобы уменьшить глубину вложения. Попробуйте использовать вычисление логических выражений.

Пример:

function foo($param)
{
    $ret = false;

    if(userIsLoggedIn()) {
        if(is_array($param)) {
            if($param['count'] > 0) {
                $ret = true;
            }
            else {
                $ret = false;
            }
        }        
    }

    return $ret;
}

Вы можете переписать это так:

function foo($param) 
{
    if(!userIsLoggedIn()) return false;
    if(!is_array($param)) return false;
    return $param['count'] > 0;
}
20
ответ дан 6 December 2019 в 04:49
поделиться

Полиморфизм также может избавить от некоторых, хотя его сложнее реализовать, чтобы уменьшить if / else в PHP, поскольку он небезопасен по типу ...

1
ответ дан 6 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: