Frontend-архитектура
Для чего модуль
Научиться проектировать frontend-архитектуру, которая выдерживает рост продукта, команды и требований к качеству.
Результат после прохождения
- Вы умеете строить модульные границы и управлять зависимостями.
- Вы снижаете архитектурный риск через ownership и правила взаимодействия модулей.
- Вы можете эволюционировать legacy-зоны без остановки разработки.
- Вы защищ аете архитектурные решения через метрики и эксплуатационные последствия.
Термины и аббревиатуры
| Термин | Коротко |
|---|---|
Coupling | Связанность модулей |
Cohesion | Целостность модуля |
Ownership | Ответственный за зону |
Dependency map | Карта зависимостей |
Migration plan | План перехода |
Фокус по грейдам
Junior: понимать базовые механики и объяснять их простыми примерами.Middle: применять тему в продуктовых сценариях с учетом рисков и ограничений.Senior: управлять архитектурными trade-offs, метриками и эволюцией решения.
Как работать с модулем
- Возьмите один проблемный участок текущего frontend-кода.
- На каждом уроке фиксируйте: текущая проблема -> целевая архитектура -> план перехода.
- После каждого урока обновляйте dependency map и ADR.
Программа модуля
Урок 1. Модульность и слои
Цель: разделить систему на зоны ответственности с минимальной связанностью.
Базовые архитектурные слои
- UI/presentation.
- Domain/use-cases.
- Data/integration.
- Shared/platform.
Принципы модульности
- Высокая cohesion внутри модуля.
- Низкая coupling между модулями.
- Явные public API модуля, скрытые внутренности.
Где ломается в проде
- Shared слой превращается в «свалку» зависимостей.
- Модули импортируют внутренности друг друга.
- Нет правил направления зависимостей.
Мини-задача (обязательная)
Сделайте dependency map одного крупного флоу и выделите 3 нарушения модульных границ с планом исправления.
Что спро сит интервьюер: как понять, что модульная архитектура «работает», а не только красиво нарисована.
Критерий готовности по уроку: вы можете показать архитектурную карту системы и объяснить, где сейчас риск связанности.
Урок 2. Ownership и процессы
Цель: привязать архитектуру к ответственности команды.
Ownership model
- У каждого модуля есть владелец.
- Ясные правила изменений cross-module.
- SLA реакции на инциденты и архитектурные регрессии.
Архитектурные quality gates
- PR-check для границ модулей.
- ADR для значимых изменений.
- Автоматические проверки зависимостей (где возможно).
Где ломается в проде
- «Общий код» без владельца.
- Критичные решения принимаются устно и не документируются.
- Инциденты повторяются, потому что ownership не определен.
Мини-задача (обязательная)
Опишите ownership-matrix для 5 ключевых модулей: owner, reviewer, SLA, эскалация.
Что спросит интервьюер: как вы распределяете ответственность за архитектурные зоны.
Критерий готовности по уроку: вы можете превратить архитектуру из схемы в рабочую операционную модель команды.
Урок 3. Архитектурная эволюция
Цель: менять архитектуру постепенно и безопасно.
Подход к миграции
- Выделяем наиболее рискованную зону.
- Планируем этапы с checkpoints.
- Оставляем rollback-вариант на каждом этапе.
Измерение прогресса
- Снижение cross-module связей.
- Снижение числа архитектурных нарушений.
- Влияние на delivery (lead time, defect rate).
Где ломается в проде
- Попытка «переписать всё» вместо локальных шагов.
- Нет критериев завершения этапа.
- Команда теряет скорость из-за неограниченного scope миграции.
Мини-задача (обязательная)
Составьте план архитектурной эволюции на 6 недель для одного legacy-модуля: этапы, риски, метрики, rollback.
Что спросит интервьюер: как вы эволюционируете архитектуру без остановки бизнес-фич.
Критерий готовности по уроку: вы можете показать реалистичный план изменений с управлением риском и влиянием на delivery.
Урок 4. Практика принятия решений
Цель: выстраивать архитектурный диалог на языке компромиссов и последствий.
Decision record
Для каждого решения фиксируйте:
- Контекст и проблему.
- Альтернативы.
- Выбор и rationale.
- Рис ки и mitigation.
- Метрики проверки.
Работа с возражениями
- «Слишком сложно» -> показываем cost of current complexity.
- «Долго» -> этапность и quick wins.
- «Можно потом» -> риск накопления техдолга и стоимость откладывания.
Мини-задача (обязательная)
Подготовьте мини-ADR на одно спорное решение и проведите архитектурную защиту (3 ожидаемых возражения + ответы).
Что спросит интервьюер: как вы защищаете архитектурный выбор, если команда не согласна.
Критерий готовности по уроку: вы ведете архитектурную дискуссию структурно и предметно, без «религиозных» аргументов.
Практика
- Постройте dependency map и register архитектурных нарушений.
- Подготовьте ownership-matrix для ключевых модулей.
- Оформите 1-2 ADR на значимые решения.
- Сделайте 6-недельный migration plan для проблемной зоны.
- Закрепите в Senior Frontend и Playbook.
- Соберите dependency map проблемной зоны в Песочнице и проверьте план упрощения.
Связь с треками и вопросами
- Треки: Middle трек, Senior трек.
- Вопросы: Senior Frontend, Playbook.
- Повторение: 3-5 вопросов без подсказок -> сверка с модулем -> повтор через 24 часа.
Критерий готовности
Вы обосновываете архитектуру через продуктовые ограничения, риски и измеримое влияние на delivery.
Артефакты после модуля
- Dependency map + violation register.
- Ownership-matrix.
- ADR-пакет по ключевым решениям.
- План эволюции проблемного модуля.