См. ТАК: действительно ли UML практичен? еще для некоторых ответов по теме. Это, кажется, что UML все еще полезен для передачи понятий и систем. Люди, кажется, используют его в качестве описания, а не определения. При разделении UML от самой реализации Вы столкнетесь с проблемой, сохраняющей два в синхронизации.
Реорганизуйте код в более мелкие рабочие единицы. Слишком много условной логики - это запах кода и обычно указывает на необходимость рефакторинга функции.
Используйте тернарный оператор, реорганизуйте свой код, напишите функцию или класс, который сделает все необходимое, если операторы else.
По возможности старайтесь использовать "ранний возврат", чтобы уменьшить глубину вложения. Попробуйте использовать вычисление логических выражений.
Пример:
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;
}
Полиморфизм также может избавить от некоторых, хотя его сложнее реализовать, чтобы уменьшить if / else в PHP, поскольку он небезопасен по типу ...