Микрошаблон «Особый случай»

Александр Борисов, 17 августа 2016

Посмотрите на этот код:

Что с ним не так:

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

Обратитие внимание, что метод начинается с условия, которое определяет, работает метод или нет. Это явный признак необходимости «Особого случая»: поставим предусловие на выполнение метода в самом начале:

Сразу стало лучше: отступов стало меньше, содержимое метода очевидно, а условие удалось упростить.

С помощью «Особого случая» можно упрощать и условные операторы:

Важно помнить, что в таком случае в предусловие должен попадать самый редкий случай. В примере выше предполагается, что длинные заказы встречаются сильно реже, чем короткие.

Лучше всего такой приём выглядит в языках с возможностью постфиксной записи условного оператора, в том же JavaScript это выглядит не так элегантно:

Смотрите также


comments powered by Disqus
Блог Цифрономики

Мысли о веб-разработке на Ruby on Rails: работа с кодом, приёмы, инструменты, организация процесса разработки.

@cifronomika
RSS


Веб-разработка на Ruby on Rails, реализация сложных проектов
mailbox@cifronomika.ru
+7 (910) 535-99-11