Курс направлен на понимание сути рефакторинга, чтобы сам процесс не был самоцелью; определение правильного момента для рефакторинга и как он внедряется в процесс каждодневной разработки независимо от того, используется TDD или нет.
В рамках курса будет сделан обзор проблемных участков разработки не только в коде, но и в базах данных, а также частично на уровне управления. Это позволит шире взглянуть на проблемы поддержания и развития программного продукта. На практике будут разобраны основные методики рефакторинга для программного кода.
Слушатели смогут на собственном опыте ощутить пользу такой практики рефакторинга, как «маленькие шаги» при применении ее к legacy .NET проекту, который будет предложено привести к поддерживаемому состоянию в течение курса.
Результатом курса будет практическое ознакомление с техниками рефакторинга, а также выработка некоторых правил (и в последствии привычек), которые позволят не делать распространённых и легко обнаруживаемых ошибок сразу.
Курс ориентирован на использование .NET, VisualStiduo + ReSharper как основного инструмента, ускоряющего процесс не только рефакторинга, но и разработки.
Цели:
После завершения обучения слушатели:
- будут знать, как следовать принципам рефакторинга;
- смогут объяснить необходимость рефакторинга;
- смогут внедрять фазу рефакторинга в процесс разработки;
- смогут идентифицировать проблемный код (smells);
- принимать решение о проведении рефакторинга над проблемным кодом
- пошагово выполнять рефакторинг;
- использовать автоматизированные средства для проведения рефакторинга (ReSharper).
Разбираемые темы:
- Введение в рефакторинг. Зачем это нужно.
- Кратко рассматриваются юнит-тесты на базе NUnit.
- Общая информация о CodeSmell – ситуациях когда код может стать неуправляемым.
- Рефакторинг организации данных.
- Упрощение логических выражений.
- Упрощение вызова методов.
- Техники рефакторинга для перекомпозиции методов.
- Рефакторинг на уровне классов и между классами.
- Закрепление знаний на проекте.
Целевая аудитория:
Разработчики, старшие разработчики.
Предварительная подготовка – общее:
Знание принципов ООП. Опыт работы с .NET не менее 1-1,5 лет.