Программа и содержание

В курсе рассматривается понятие рефакторинга, как способ предотвращения распада программы. Рассматриваются различные признаки плохого кода (smells), требующего рефакторинга, объясняется, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации, и описывается его механика, которая подробно разбирается на конкретных примерах из реальных задач.

[О чём курс

В курсе рассматривается понятие рефакторинга, как способ предотвращения распада программы. Рассматриваются различные признаки плохого кода (smells), требующего рефакторинга, описывает, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации, и описывает его механику, подробно разбирая ее на конкретных примерах из реальных задач.

Во время обучения слушатели изучат основные стратегии рефакторинга Java приложений, а также такие темы как явные проблемы внутри классов, явные проблемы между классами, методы компоновки, перемещение функций между объектами, организация данных, упрощение условных выражений, упрощение вызовов методов, работа с обобщениями, рефакторинг в Java 8, рефакторинг и тестирование.

Цели

После завершения обучения слушатели смогут:

понимать принципы рефакторинга;

объяснить необходимость рефакторинга;

внедрять фазу рефакторинг в процесс разработки;

идентифицировать проблемный код (smells);

принимать решение о проведение рефакторинга над проблемным кодом;

пошагово выполнять рефакторинг;

использовать автоматизированные средства для проведения рефакторинга.

Целевая аудитория

Разработчики;

Старшие разработчики.

Предварительная подготовка

Прохождение курса_JVA \"Шаблоны проектирования GoF. Редакция для Java\"

Знание принципов объектно-ориентированного программирования.

Опыт работы с объектно-ориентированными языками от 1 года.

Знание UML.

Для кого

Разработчик

Улучшаемые навыки

Определение и устранение проблем в коде

Применение методов рефакторинга

Использование инструментов для рефакторинга

Тестирование после рефакторинга

Поддержание чистоты кода

Программа курса

01. Введение (теория – 2 ч.; практика – 0,5 ч.)

02. Явные проблемы внутри классов (теория – 1,5 ч.; практика – 1 ч.)

03. Явные проблемы между классами (теория – 0,5 ч; практика – 1 ч.)

04. Методы компоновки (теория – 1 ч.; практика – 1 ч.)

05. Перемещение функций между объектами (теория – 1 ч.; практика – 1 ч.)

06. Организация данных (теория – 2 ч.; практика – 2 ч.)

07. Упрощение условных выражений (теория – 1 ч.; практика – 1 ч.)

08. Упрощение вызовов метода (теория – 1 ч.; практика – 1 ч.)

09. Работа с обобщениями (теория – 1 ч.; практика – 1 ч.)

10. Рефакторинг в Java 8 (теория – 0,5 ч.; практика – 1 ч.)

11. Рефакторинг и тестирование (теория – 1 ч.; практика – 1 ч.)

Чему вы научитесь

01. Научитесь выявлять проблемные участки в коде, такие как дублирование, сложность и недостаточная читаемость

02. Освоите различные методы и техники рефакторинга, такие как извлечение методов, переименование переменных и классов

03. Научитесь использовать инструменты и среды разработки

04. Освоите методы написания и выполнения тестов для проверки корректности работы кода после рефакторинга

05. Научитесь применять принципы чистого кода и лучшие практики программирования, что поможет вам создавать более читаемые