монстр Как создать свой сайт > Вебмастеру > Создание своего сайта > Любой действующий проект всё больше похож на монстра

Любой действующий проект всё больше похож на монстра

Город Нягань не столько прекрасный, сколько далёкий.
«Кефир», КВН.
23 апреля 2019

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

 

 


    Например, нам приходят заказы. От разных контрагентов. Но контрагентов есть множество видов и заказ каждого отдельного вида обрабатывается по отдельной логике.

    Разработчик, задолбавшись реализовывать n-дцатое условие в коде, рано или поздно, решает написать некую конфигурацию бизнес-правил обработки этих самых заказов, дать в руки бизнес-людям конфигуратор и свалить в закат. Вроде, всё просто: реализовал десяток блочков, как-то их собрал в кучку под каждый отдельный случай и всё работает, можно пить смузи.

    Но бизнес приходит с новыми требованиями. Там, где раньше были только составные условия типа «ИЛИ», теперь появляются «И» и «НЕ». Там, где была последовательная обработка всех правил по очереди, теперь появляются ветвления и дополнительные условия.

    Монстр обрастает кастомными обработчиками, спецфункциями, простым шаблонизатором с переменными... Это всё дело нужно как-то поддерживать и дебажить. И вот уже появляется расширенная система логирования. Вначале для разработчиков, а потом уже и для бизнес-людей (чтобы они сами могли смотреть, почему их штука не работает как надо, и не дергать девелоперов).

    Ну, и апофеозом этого дела будет встраивание скриптового языка (js, groovy и т. д.) в условия и действия. Цикл замкнулся. Поздравляю, ваш «круд» теперь тьюринг-полный.

    Я наблюдал это и в больших проектах, и в маленьких. Рано или поздно, хардкода начинает не хватать и разработка изобретает очередной велосипед (вначале беговел, а затем потихоньку превращает это всё дело в мотоцикл из «Безумного Макса»).

мотоцикл из «Безумного Макса»

    Готовых отчётов по данным не хватает и вот аналитикам в руки уже даётся база, SQL или BI-система, куда разработчики сгружают подготовленные данные.

    Множество промежуточных этапов, казалось, можно было бы и избежать. Если начать разработку всех этих «хитрых» движков заранее, на старте проекта. Да вот нет.

    Во-первых, на старте это громадные излишества, а во-вторых — всё равно не угадаете, что понадобится.

Автор: rozho)))k.

Ещё материалы по этой теме:

 

 

Комментарии:


⇓ 

Поделись ссылкой на Seoded.ru с друзьями, знакомыми и собеседниками в соцсетях и на форумах! А сам сайт добавь в закладки! Так победим.

Поделиться ссылкой на эту страницу в:

Полезные ссылки:

Дипломные работы на заказ «Вконтакте» создал Дуров?

 


основан в 2008 г. © Все права на материалы сайта Seoded.ru принадлежат Алексею Вострову.
Копирование (полное или частичное) любых материалов сайта возможно только с разрешения автора и при указании ссылки на источник.
Ослушавшихся находит и забирает Бабайка!