Описание курса:
Рефакторинг — это процесс улучшения кода, при котором он становится более чистым, структурированным и понятным. При этом оптимизация кода не влияет на внешнее поведение программы. Результатом рефакторинга становится код, который легко читать и поддерживать всем членам команды. Это сокращает время на разработку продукта и повышает его качество. Рефакторинг проводится уже после написания кода, поэтому процесс должен быть контролируемым и тщательно обдуманным. Чтобы применять рефакторинг, нужно хорошо знать плюсы и минусы всех способов.
Курс предназначен для разработчиков, которым приходится создавать новые программные продукты и участвовать в поддержке и адаптации старых решений для новых условий. Курс направлен на понимание сути рефакторинга, чтобы сам процесс не был самоцелью, крайне важно определить правильный момент для рефакторинга и как он внедряется в процесс каждодневной разработки.
Аудитория:
• разработчики приложений
• администраторы баз данных
• разработчики отчетов
• бизнес-аналитики
• научные работники
Необходимая подготовка:
• Успешное окончание курса Программирование на Java. Уровень 3. Разработка клиент - серверных приложений, или эквивалентная подготовка
• Опыт программирования на языках высокого уровня не менее одного года
Программа курса:
Модуль 1. Введение в рефакторинг
Модуль 2. Упрощение бизнес-логики
• Использование объекта стратегия
• Полиморфизм, как замена оператора выбора
• Шаблон композиция
• Шаблон команда
• Использование объекта состояние
• Лабораторная работа
Модуль 3. Решение проблем классов
• Применение шаблона композиция для обработки одного/нескольких объектов
• Шаблон наблюдатель
• Разработка интерпретатора
Модуль 4. Снижение сложности методов
• Составной метод
• Нулевой объект
• Лабораторная работа
Модуль 5. Решение проблем в иерархиях классов
• Создание обобщённого метода
• Создание родительского класса
• Лабораторная работа
Модуль 6. Упрощение создания объектов
• Замена множественных конструкторов на методы
• Фабрики
• Шаблоны Builder и Singleton
• Лабораторная работа
Модуль 7. Решение проблем интерфейсов
• Создание унифицированного интерфейса
• Доступ к компонентам через адаптер
• Лабораторная работа
Окончательная цена указывается в договоре на обучение.