Що нового?

Придбаний Рефакторинг кода на Java [IBS Training Center]

Інформація про покупку
Тип покупки: Складчина
Ціна: 19740 ГРН
Учасників: 0 з 20
Організатор: Відсутній
Статус: Набір учасників
Внесок: 1026.5 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Рефакторинг кода на Java [IBS Training Center]



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

После завершения обучения слушатели смогут:
  • понимать принципы рефакторинга;
  • объяснить необходимость рефакторинга;
  • внедрять фазу рефакторинг в процесс разработки;
  • идентифицировать проблемный код (smells);
  • принимать решение о проведение рефакторинга над проблемным кодом;
  • пошагово выполнять рефакторинг;
  • использовать автоматизированные средства для проведения рефакторинга.
Целевая аудитория:
  • Разработчики;
  • Старшие разработчики.
Предварительная подготовка:
  • Прохождение курса .
  • Знание принципов объектно-ориентированного программирования.
  • Опыт работы с объектно-ориентированными языками от 1 года.
  • Знание UML.
Улучшаемые навыки:
  • Определение и устранение проблем в коде
  • Применение методов рефакторинга
  • Использование инструментов для рефакторинга
  • Тестирование после рефакторинга
  • Поддержание чистоты кода
Программа курса

  1. Введение (теория – 2 ч.; практика – 0,5 ч.)
  2. Явные проблемы внутри классов (теория – 1,5 ч.; практика – 1 ч.)
  3. Явные проблемы между классами (теория – 0,5 ч; практика – 1 ч.)
  4. Методы компоновки (теория – 1 ч.; практика – 1 ч.)
  5. Перемещение функций между объектами (теория – 1 ч.; практика – 1 ч.)
  6. Организация данных (теория – 2 ч.; практика – 2 ч.)
  7. Упрощение условных выражений (теория – 1 ч.; практика – 1 ч.)
  8. Упрощение вызовов метода (теория – 1 ч.; практика – 1 ч.)
  9. Работа с обобщениями (теория – 1 ч.; практика – 1 ч.)
  10. Рефакторинг в Java 8 (теория – 0,5 ч.; практика – 1 ч.)
  11. Рефакторинг и тестирование (теория – 1 ч.; практика – 1 ч.)
01. Введение (теория – 2 ч.; практика – 0,5 ч.)
  • Что такое рефакторинг;
  • Правила и стратегии;
  • Рефакторинг и дизайн;
  • Создание тестов;
  • Явные проблемы;
  • Средства рефакторинга;
  • Книги о рефакторинге.
02. Явные проблемы внутри классов (теория – 1,5 ч.; практика – 1 ч.)
  • Измеряемые проблемы;
  • Имена;
  • Ненужная сложность;
  • Дублирование;
  • Условная логика.
03. Явные проблемы между классами (теория – 0,5 ч; практика – 1 ч.)
  • Данные;
  • Наследование;
  • Ответственность;
  • Реализация изменений;
  • Библиотечные классы.
04. Методы компоновки (теория – 1 ч.; практика – 1 ч.)
  • Извлечение метода;
  • Встраивание метода;
  • Встраивание временной переменной;
  • Замена временной переменной запросом;
  • Введение поясняющей переменной;
  • Расщепление временной переменной;
  • Удаление присваиваний параметрам;
  • Замена метода объектом методов;
  • Замещение алгоритма.
05. Перемещение функций между объектами (теория – 1 ч.; практика – 1 ч.)
  • Перемещение метода;
  • Перемещение поля;
  • Извлечение класса;
  • Сокрытие делегирования;
  • Удаление посредника;
  • Внедрение внешнего метода;
  • Внедрение локального расширения.
06. Организация данных (теория – 2 ч.; практика – 2 ч.)
  • Инкапсуляция поля;
  • Самоинкапсуляция поля;
  • Инкапсуляция коллекции;
  • Замена записи классом данных;
  • Замена значения данных объектом;
  • Замена массива объектом;
  • Изменение значения на ссылку;
  • Изменение ссылки на значение;
  • Дублирование видимых данных;
  • Изменение двунаправленной связи однонаправленной;
  • Изменение однонаправленной связи двунаправленной;
  • Замена магического числа символической константой;
  • Замена кода типа классом;
  • Замена кода типа подклассом;
  • Замена кода типа состоянием/стратегией;
  • Замена подкласса полями.
07. Упрощение условных выражений (теория – 1 ч.; практика – 1 ч.)
  • Декомпозиция условного оператора;
  • Консолидация условного выражения;
  • Консолидация дублирующих условных фрагментов;
  • Удаление управляющего флага;
  • Замена вложенного условного оператора граничными операторами;
  • Замена условного оператора полиморфизмом;
  • Введение объекта Null;
  • Введение утверждения.
08. Упрощение вызовов метода (теория – 1 ч.; практика – 1 ч.)
  • Переименование метода;
  • Добавление параметра;
  • Удаление параметра;
  • Разделение запроса и модификатора;
  • Параметризация метода;
  • Замена параметра явными методами;
  • Замена параметра методом;
  • Введение граничного объекта;
  • Удаление метода установки значения;
  • Сокрытие метода;
  • Замена конструктора фабричным методом;
  • Инкапсуляция нисходящего преобразования типа;
  • Замена кода ошибки исключением;
  • Обертывание проверяемого исключения в непроверяемое;
  • Замена исключения проверкой.
09. Работа с обобщениями (теория – 1 ч.; практика – 1 ч.)
  • Подъем поля;
  • Подъем метода;
  • Подъем тела конструктора;
  • Спуск поля;
  • Выделение подкласса;
  • Выделение суперкласса;
  • Выделение наследования;
  • Свертывание иерархии;
  • Формирование шаблона метода;
  • Замена наследования делегированием;
  • Замена делегирования наследованием.
10. Рефакторинг в Java 8 (теория – 0,5 ч.; практика – 1 ч.)
  • Замена анонимных классов лямбда-выражениями;
  • Использование ссылок методов;
  • Использование лямбда-выражений для реализации шаблона «команда»;
  • Использование лямбда-выражений для реализации шаблона «стратегия»;
  • Обработка коллекций с помощью лямбда-выражений;
  • Использование потоков для отображения/фильтрации/снижения числа операций.
11. Рефакторинг и тестирование (теория – 1 ч.; практика – 1 ч.)
  • Основы тестирования;
  • Виды тестирования ПО;
  • Разработка на основе тестирования;
  • Рефакторинг с помощью тестов;
  • Книги о тестировании на Java.
Чему вы научитесь:
  • Научитесь выявлять проблемные участки в коде, такие как дублирование, сложность и недостаточная читаемость
  • Освоите различные методы и техники рефакторинга, такие как извлечение методов, переименование переменных и классов
  • Научитесь использовать инструменты и среды разработки
  • Освоите методы написания и выполнения тестов для проверки корректности работы кода после рефакторинга
  • Научитесь применять принципы чистого кода и лучшие практики программирования, что поможет вам создавать более читаемые
Цена 29610 руб
https://ibs-training.ru/kurs/refaktoring_koda_na_java.html
 
Угорі