Перейти к основному содержимому

Инженерные принципы

Быстрый переход к обучению​

  1. Инженерные принципы — учебный модуль
  2. Все учебные модули

Что нужно знать​

  1. DRY, KISS, YAGNI как баланс, а не догма.
  2. SOLID в frontend-контексте.
  3. Композиция против наследования.
  4. Code smells и технический долг.
  5. ADR как способ фиксировать инженерные решения.

Что уметь объяснить на собеседовании​

  1. Когда нарушение DRY оправдано.
  2. Почему абстракция может быть преждевременной.
  3. Как принимать решение между быстрым фиксом и рефакторингом.
  4. Как измерять, что принцип реально улучшил проект.

Грейд-фокус​

  1. Junior: понимать принципы и распознавать антипримеры.
  2. Middle: применять принципы на рефакторинге модулей.
  3. Senior: задавать инженерные стандарты и quality gates команды.

Глубокие кейсы собеседования​

  1. Повторяемость кода в 3 местах: не всегда нужно мгновенно абстрагировать, если сценарии еще нестабильны.
  2. Переусложненный utility-layer: попытка сделать универсально приводит к нечитабельному API.
  3. Legacy-модуль с высокой связностью: нужен поэтапный refactor plan, а не большой переписанный PR.

Практический минимум​

  1. Выбрать один smell в проекте и предложить 2 пути исправления.
  2. Написать мини-ADR для выбранного пути.
  3. Обосновать, как проверить эффект изменения.

Типовые ловушки​

  1. Паттерн ради паттерна.
  2. Абстракция без стабильного доменного контекста.
  3. Отсутствие rollback-плана при рефакторинге.

Self-review перед собеседованием​

  1. Я могу показать пример, где простое решение лучше сложного.
  2. Я могу назвать компромисс любого предложенного принципа.
  3. Я умею описать критерий успеха рефакторинга.

Связанные материалы​

  1. Frontend-архитектура
  2. Паттерны (hub)
  3. Senior Frontend