изоляция

1 / 28
volgende
Slide 1: Tekstslide
JavaSpecial Education

In deze les zitten 28 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 15 min

Onderdelen in deze les

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Slide 3 - Tekstslide

Deze slide heeft geen instructies

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Slide 10 - Tekstslide

До рефакторинга:
В этой версии кода есть несколько проблем:
*Класс User напрямую зависит от глобального объекта db
*Мы не можем заменить базу данных на другую без изменения кода
*Тестирование затруднено, так как нам нужна реальная база данных
*Если db изменится, придется менять код во многих местах

После рефакторинга:
*Здесь применяется паттерн "Внедрение зависимостей" (Dependency Injection):
*База данных передается в конструктор класса
*User больше не зависит от конкретной реализации базы данных
*Для тестов можно передать фейковую базу данных (мок)
*При необходимости легко заменить базу данных на другую

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Slide 17 - Tekstslide

Deze slide heeft geen instructies

Slide 18 - Tekstslide

Deze slide heeft geen instructies


Что такое рефакторинг?
A
Процесс улучшения читаемости кода без изменения его функционала.
B
Процесс оптимизации скорости работы кода.
C
Изменение архитектуры проекта для устранения ошибок.
D
Процесс улучшения кода без изменения его внешнего поведения.

Slide 19 - Quizvraag

Deze slide heeft geen instructies

Какова основная цель рефакторинга?
A
Уменьшение числа ошибок в коде.
B
Снижение времени выполнения программы.
C
Улучшение удобства работы с кодом для разработки и поддержки.
D
Оптимизация использования оперативной памяти.

Slide 20 - Quizvraag

Deze slide heeft geen instructies

Что включает в себя изоляция кода?

A
Объединение нескольких модулей в один для удобства тестирования.
B
Полное удаление всех внешних зависимостей.
C
Разделение логики на модули, которые могут тестироваться независимо.
D
Привязка всех модулей к одной централизованной точке управления.

Slide 21 - Quizvraag

Deze slide heeft geen instructies

Зачем необходимо улучшать тестируемость?

A
Для устранения всех ошибок на этапе написания кода.
B
Для снижения времени, необходимого для рефакторинга.
C
Для упрощения добавления новых функций и повышения надежности системы.
D
Для автоматической генерации новых тестов.

Slide 22 - Quizvraag

Deze slide heeft geen instructies

Какая основная задача реорганизации зависимостей?
A
Минимизация числа функций в каждом модуле.
B
Уменьшение связанности между модулями, чтобы изменения в одном модуле минимально влияли на другие.
C
Создание строгой иерархии модулей.
D
Объединение всех зависимостей в один универсальный компонент.

Slide 23 - Quizvraag

Deze slide heeft geen instructies

Какой из инструментов помогает в рефакторинге?

A
GitHub
B
IntelliJ IDEA
C
Slack
D
Docker

Slide 24 - Quizvraag

Deze slide heeft geen instructies

Как изменяются тесты после рефакторинга?

A
Они становятся зависимыми от конкретной реализации.
B
Они удаляются, так как рефакторинг улучшает стабильность кода.
C
Они используют заглушки (mocks) и интерфейсы для независимости.
D
Они объединяются в один тест для всего приложения.

Slide 25 - Quizvraag

Deze slide heeft geen instructies

Какой из перечисленных пунктов может считаться риском рефакторинга?
A
Появление новой функциональности.
B
Увеличение времени выполнения тестов.
C
Изменение поведения программы из-за ошибок при внесении изменений.
D
Снижение связности модулей.

Slide 26 - Quizvraag

Deze slide heeft geen instructies

Какое преимущество дает чек-лист при рефакторинге?

A
Исключение необходимости документирования изменений.
B
Ускорение процесса рефакторинга за счет автоматизации.
C
Структурированный подход, уменьшающий вероятность ошибок.
D
Возможность объединить все тесты в один файл.

Slide 27 - Quizvraag

Deze slide heeft geen instructies

Какое преимущество дает использование заглушек (mocks) в тестах после рефакторинга?
A
Ускорение работы программы в продакшене.
B
Возможность тестировать отдельные компоненты независимо от их зависимостей.
C
Полное устранение необходимости написания новых тестов.
D
Автоматическая оптимизация всех зависимостей.

Slide 28 - Quizvraag

Deze slide heeft geen instructies