Конечно сейчас редко возникают ситуации, когда открываешь код, а там полотно условий с вложенными условиями и циклами или еще лучше когда это полотно вложено в парочку foreach
Но все-же иногда, когда находясь в состоянии потока пишешь код, на следующий день с него офигиваешь. Как вы обходите подобные ситуации? Как избавляетесь от циклов и условий?
Я нашел один красивый паттерн, но он подходит не под все случаи - State Machine. Этот паттерн позволяет например управлять статусами заказов, при этом без кода типа
if ($status == 'new)' {
} elseif($status == 'paid') {
} elseif ....
Но для его работы приходится писать много классов (по сути каждый статус это отдельный класс., что кстати очень удобно. Нужен новый статус - создай новый класс и не трогай остальной код)
Вообще кстати заметил тенденцию того что применение любого паттерна приводит к увеличению количества кода. А вы что об этом думаете? Кто-нибудь ставил себе цель написать проект не используя условия и циклы? (разумеется мы не учитываем циклы внутри стандартных функций языка)
Я вот как-то писал свой фреймворк с навязчивой идеей исключить из кода все echo и print, что-то даже с этого получилось, ни одного echo в коде не осталось.
Сейчас вот активно сражаюсь с условиями в своем коде, конечно кроме тех случаев, когда условие явялется логически необходимым, но и там чаще обхожусь одноуровневой тернаркой, хотя даже она иногда подбешивает :lol:
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки