Как перестать писать приложения в helloworld-стиле и начать жить
Есть два типа проектов: написать блог за 30 минут и написать что-то за месяц-другой и годами это поддерживать. И писать эти проекты нужно руководствуясь совсем разными принципами. Огромная проблема в том, что проекты второго типа пишут опираясь на модные принципы хелловорлдовых проектов, взятые из документации и статей как сделать X за очень малое количество времени. Такие проекты очень быстро становятся крайне трудны в поддержке и развитии.
В этом мастер-классе я буду рассказывать и показывать кусками кода как мы переделывали проект на PHP(laravel) который внезапно стал популярен(150+ миллионов юзеров) с принципов, описанных в документации, на человеческие. Привязываться к фреймворку(laravel) и даже языку(PHP) почти не буду. Принципы веб-приложений почти везде одинаковые.
Начнем с самых простых примеров, написанных прямо по документации. И шаг за шагом, будем находить проблемы и искать решения.
Будем делить код на четкие слои.
Большое внимание будет уделено CQRS - разделению read и write логики.
Правильная работа с эксепшенами - очень важный аспект, о котором не все заботятся.
Введение юнит-тестов в проект.
Некое подобие DDD(страшно урезанное и анемичное из-за Eloquent, заодно покажу почему именно нормальные datamapper ORM приятнее).
Только реальный код, никаких "вот машина. у нее есть колеса".