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

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

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

  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