advanced

Showing a principle in code

Показывайте principles через small refactors: extracting responsibilities, narrowing interfaces, inverting dependencies или удаление speculative layers.

Показывайте принципы небольшими refactors, которые интервьюер видит вживую: extract class для SRP, interface для DIP, наследование на композицию, удаление speculative layer для YAGNI. Diff до/после — яснее зависимости и проще тесты.

Минимальные изменения — один принцип на пример, чтобы причинность была очевидна.

На интервью: refactor на ~20 строк с narrating smell и поддержкой тестов.

Типовые ошибки: огромные rewrite на интервью; refactor без тестов; только rename без структуры.

Компромисс — время на чистоту против умения улучшать код безопасно под давлением.

Чеклист:

  • Один smell, один принцип, один refactor.
  • Тесты зелёные всё время.
  • Стрелки зависимостей после изменения.