Рефакторинг кода на Java
Рефакторинг кода на Java
Повышение квалификации
24 ак.ч.
онлайн
удостоверение о повышении квалификации государственного образца
Подробнее о курсе
Документ после выпуска
удостоверение о повышении квалификации государственного образца
Программа курса
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.
Оставьте отзыв
Похожие курсы
Бесплатные курсы
Оставьте заявку
Наши консультанты ответят на все вопросы
И помогут в выборе
Нажимая кнопку, вы даете согласие на обработку персональных данных