Code Style - как не надо писать код

Flattening Arrow Code - код в виде стрелки, является примером того, как не надо писать код (см. Arrow Anti-Pattern ), демонстрация:

if
  if
    if
      if
        do something
      endif
    endif
  endif
endif
Code Style - как не надо писать код

Давайте рассмотрим реальный пример.

Плохой код (многие из нас так и пишут):

function isCorrect($param1, $param2, $param3)
{
    if ($param1 !== $param2) {
        if ($param1 === ($param3 * 2)) {
            if ($param2 === ($param3 / 3)) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
    return false;
}

Хороший код (Multiple Returns):

function isCorrect($param1, $param2, $param3)
{
    if ($param1 === $param2)       { return false; }
    if ($param1 !== ($param3 * 2)) { return false; }
    if ($param2 !== ($param3 / 3)) { return false; }
    return true;
}

Отличный код (принцип SESE - Single Entry, Single Exit):

function isEqual($param1, $param2)
{
    return $param1 === $param2;
}

function isDouble($param1, $param2)
{
    return $param1 === ($param2 * 2);
}

function isThird($param1, $param2)
{
    return $param1 === ($param2 / 3);
}

function isCorrect($param1, $param2, $param3)
{
    return !isEqual($param1, $param2)
        && isDouble($param1, $param3)
        && isThird($param2, $param3);
}

Конечно, это немного дольше, но таким образом:

  • создан ряд универсальных функций
  • функця стала более удобочитаема
  • обозначали фокус на том, почему значения верны

Источник: 1 - 2 - 3 - 4 - 5 - 6

Оцени публикацию:
  • 0,0
Оценили человек: 0

Похожие статьи:

Справочники и учебники:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » PHP »