Основные концепции

Разнообразие

Проблема

// Цитату сюда от Роберта Мартина про единообразие

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

Решение

Решение заключается в том, чтоб следовать стандартам, рекомендациям и командным или проектным соглашениям. К сожалению стандарты покрывают не весь спектр спорных ситуаций с которыми сталкиваются разработчики, поэтому появляются рекомендации, которые помогают принять решение. Symfobooster является имплементацией документов, которые описаны в zacoreОткрыть в новом окне. Zacore является сборником решений, которые основаны на личном опыте, рекомендациях из книг и были в ходе дебатов, когда в команде появлялось два мнения по решению одной проблемы.

В 2020Открыть в новом окне году репозиторий zacoreОткрыть в новом окне попал в программу 2020 GitHub Archive ProgramОткрыть в новом окне

Рутина

Проблема

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

Решение

Для того чтоб не выгорать каждый раз создавая одно и тоже достаточно использовать генераторы кода. // TODO

Архитектура

Symfobooster следует концепции гексогональной архитектуры.