Мы используем файлы cookie для обеспечения работоспособности сервиса, улучшения навигации и маркетинговых активностей Yolonce. Нажимая "Согласен", вы соглашаетесь с нашей Политикой конфиденциальности

Рефакторинг кода на Java

  Сложность

Повышение квалификации

  Длительность

24 ак.ч.

  Формат

онлайн

  Документ по выпуску

удостоверение о повышении квалификации государственного образца

Стоимость курса
29 900

Подробнее о курсе

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

Документ после выпуска

удостоверение о повышении квалификации государственного образца

Автор курса

Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Действует скидка 10% на обучение физических лиц.

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

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

Что такое рефакторинг; Правила и стратегии; Рефакторинг и дизайн; Создание тестов; Явные проблемы; Средства рефакторинга; Книги о рефакторинге.

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

Измеряемые проблемы; Имена; Ненужная сложность; Дублирование; Условная логика.

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

Данные; Наследование; Ответственность; Реализация изменений; Библиотечные классы.

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

Извлечение метода; Встраивание метода; Встраивание временной переменной; Замена временной переменной запросом; Введение поясняющей переменной; Расщепление временной переменной; Удаление присваиваний параметрам; Замена метода объектом методов; Замещение алгоритма.

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

Перемещение метода; Перемещение поля; Извлечение класса; Сокрытие делегирования; Удаление посредника; Внедрение внешнего метода; Внедрение локального расширения.

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

Инкапсуляция поля; Самоинкапсуляция поля; Инкапсуляция коллекции; Замена записи классом данных; Замена значения данных объектом; Замена массива объектом; Изменение значения на ссылку; Изменение ссылки на значение; Дублирование видимых данных; Изменение двунаправленной связи однонаправленной; Изменение однонаправленной связи двунаправленной; Замена магического числа символической константой; Замена кода типа классом; Замена кода типа подклассом; Замена кода типа состоянием/стратегией; Замена подкласса полями.

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

Декомпозиция условного оператора; Консолидация условного выражения; Консолидация дублирующих условных фрагментов; Удаление управляющего флага; Замена вложенного условного оператора граничными операторами; Замена условного оператора полиморфизмом; Введение объекта Null; Введение утверждения.

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

Переименование метода; Добавление параметра; Удаление параметра; Разделение запроса и модификатора; Параметризация метода; Замена параметра явными методами; Замена параметра методом; Введение граничного объекта; Удаление метода установки значения; Сокрытие метода; Замена конструктора фабричным методом; Инкапсуляция нисходящего преобразования типа; Замена кода ошибки исключением; Обертывание проверяемого исключения в непроверяемое; Замена исключения проверкой.

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

Подъем поля; Подъем метода; Подъем тела конструктора; Спуск поля; Выделение подкласса; Выделение суперкласса; Выделение наследования; Свертывание иерархии; Формирование шаблона метода; Замена наследования делегированием; Замена делегирования наследованием.

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

Замена анонимных классов лямбда-выражениями; Использование ссылок методов; Использование лямбда-выражений для реализации шаблона «команда»; Использование лямбда-выражений для реализации шаблона «стратегия»; Обработка коллекций с помощью лямбда-выражений; Использование потоков для отображения/фильтрации/снижения числа операций.

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

Основы тестирования; Виды тестирования ПО; Разработка на основе тестирования; Рефакторинг с помощью тестов; Книги о тестировании на Java.

Оставьте отзыв

Напишите ваш коментарий, не менее 30 символов

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

обновлено: 19.09.2024

Оставьте заявку

Наши консультанты ответят на все вопросы
И помогут в выборе

Комментарий ...

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