Паттерны решают ключевые проблемы как разработки, так и вашего профессионального роста:
- Упрощают коммуникацию и ускоряют понимание между специалистами, дают профессиональный словарь терминов, это как Ubiquitous Language (Единый язык в Domain-Driven Design от Эрика Эванса) только не для предметной области, а для типичных инженерных решений, повторяющихся в каждом проекте. Очень помогает не называть все "штуковиной" или "контроллеров", а то у многих все приложение состоит из одних только контроллеров, потому что словарного запаса не хватает называть решения грамотными техническими терминами. Паттерны позволяют ставить задачу для LLM и писать ТЗ джуну или комментарий к пул-реквесту понятный коллегам.
- Все это очень экономит время, паттерны дают структуру и предсказуемость, разработка ускоряется минимум в 2-3 раза. Постоянные баги и переписывания одних и тех же частей кода сходят на нет, потому что терминология даёт нам самим возможность осознанно размышлять над структурой приложения, а SOLID и GRASP принципы готовят код к принятию архитектурных решений, багов становится в разы меньше.
- Типовых решений в проектах всегда множество, когда вы заняты не тушением пожаров, а выделением этих решений в библиотеки, абстрагированием их от предметной области, тестированием, оптимизацией, популяризацией среди коллег, то ни о каком выгорании или отсутствии профессионального роста уже и речь не может идти, у вас всегда есть материал для статьи, доклада, для митапа в своем городе или внутри компании.
- Принципы GRASP и SOLID должны стать для вас не теоретическими, а спуститься до реальных снипетов кода, примеров и юзкейсов. Так что вы можете быстро вынуть из памяти несколько шаблонов под специфику практической задачи. Например, Low Coupling начинает ассоциироваться с тем, что мы признаем mix-inы нежелательным изменением структуры объекта после его создания, это нарушение закона Деметры, которое решается делегированием и структурной композицией.
- Паттерны — это не столько теория, сколько упражнения, на примере которых вы качаете навык, понимание рантайма, взаимодействие с коллегами, экспертизу и интуицию. Паттерны дают глубокое понимание кода через тренировку часто встречающихся ситуаций.
Обзор курса: https://youtu.be/8a9PX12FB9s
Post #1919
2.87K
- 👍 12
- ❤ 6
- 💯 3
- 👎 1