Александр Борисов, 17 августа 2016
Посмотрите на этот код:
Что с ним не так:
Обратитие внимание, что метод начинается с условия, которое определяет, работает метод или нет. Это явный признак необходимости «Особого случая»: поставим предусловие на выполнение метода в самом начале:
Сразу стало лучше: отступов стало меньше, содержимое метода очевидно, а условие удалось упростить.
С помощью «Особого случая» можно упрощать и условные операторы:
Важно помнить, что в таком случае в предусловие должен попадать самый редкий случай. В примере выше предполагается, что длинные заказы встречаются сильно реже, чем короткие.
Лучше всего такой приём выглядит в языках с возможностью постфиксной записи условного оператора, в том же JavaScript это выглядит не так элегантно:
Мысли о веб-разработке на Ruby on Rails: работа с кодом, приёмы, инструменты, организация процесса разработки.
Веб-разработка на Ruby on Rails, реализация сложных проектов
mailbox@cifronomika.ru
+7 (910) 535-99-11