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.
- Тесты зелёные всё время.
- Стрелки зависимостей после изменения.