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

В курсе рассматривается понятие рефакторинга как способа предотвращения распада программы, даётся обзор проблемных участков разработки не только в коде, но и в базах данных, а также частично на уровне управления. Во время обучения слушателями выполняется рефакторинг программы на .NET® из состояния «неподдерживаемая» в состояние «готова для покрытия тестами».
Курс: DEV-006_NET
Длительность: 24 ч.

Описание

Курс направлен на понимание сути рефакторинга, чтобы сам процесс не был самоцелью; определение правильного момента для рефакторинга и как он внедряется в процесс каждодневной разработки независимо от того, используется TDD или нет.

В рамках курса будет сделан обзор проблемных участков разработки не только в коде, но и в базах данных, а также частично на уровне управления. Это позволит шире взглянуть на проблемы поддержания и развития программного продукта. На практике будут разобраны основные методики рефакторинга для программного кода.

Слушатели смогут на собственном опыте ощутить пользу такой практики рефакторинга, как «маленькие шаги» при применении ее к legacy .NET-проекту, который будет предложено привести к поддерживаемому состоянию в течение курса. 

Результатом курса будет практическое ознакомление с техниками рефакторинга, а также выработка некоторых правил (и в последствии привычек), которые позволят не делать распространённых и легко обнаруживаемых ошибок сразу. 

Курс ориентирован на использование .NET®, VisualStiduo® + ReSharper® как основного инструмента, ускоряющего процесс не только рефакторинга, но и разработки.

Разбираемые темы

  • Введение в рефакторинг. Зачем это нужно.
  • Кратко рассматриваются юнит-тесты на базе NUnit.
  • Общая информация о CodeSmell – ситуациях, когда код может стать неуправляемым.
  • Рефакторинг организации данных.
  • Упрощение логических выражений.
  • Упрощение вызова методов.
  • Техники рефакторинга для перекомпозиции методов.
  • Рефакторинг на уровне классов и между классами.
  • Закрепление знаний на проекте.


Цели

После завершения обучения слушатели:
  • будут знать, как следовать принципам рефакторинга;
  • смогут объяснить необходимость рефакторинга;
  • смогут внедрять фазу рефакторинга в процесс разработки;
  • смогут идентифицировать проблемный код (smells);
  • принимать решение о проведении рефакторинга над проблемным кодом; 
  • пошагово выполнять рефакторинг;
  • использовать автоматизированные средства для проведения рефакторинга (ReSharper®).

Целевая аудитория

Разработчики, старшие разработчики.

Предварительная подготовка

После окончания курса выдаётся сертификат на бланке Luxoft Training
Цытович Павел Специалист в области разработки и архитектуры ПО
Павел имеет богатый опыт обучения разработчиков программного обеспечения по всем направлениям Software Engineering, начиная от выяснения потребностей заказчика и ответа на вопрос «Чего тебе надобно, старче?» до создания высоконагруженных систем на основе применения хорошо зарекомендовавших себя решений (паттернов). 
Широко использует в своей научно-практической деятельности методы объектно-ориентированного анализа и проектирования, язык моделирования UML. В качестве разработчика имеет опыт создания нагруженных приложений на платформе Microsoft .NET Framework. 

Свою карьеру Павел начал в  Южно-Уральском государственном университете в 1993 г., где был преподавателем  авторизованного учебного центра при кафедре ЭВМ, позже преподавал цикл дисциплин «Программная инженерия».
В 2011–2012 гг. в качестве архитектора проектных решений компании занимался оценкой, ведением проектов, разработкой архитектурных решений в Fuse 8 Online. 
С 2012 г. – эксперт Luxoft Training по разработке и архитектуре ПО.

В методиках обучения Павел использует проектный подход. В практике преподавания старается опираться на различные психологические упражнения, позволяющие смоделировать реальную ситуацию, возникающую у разработчика в ходе работы над проектом.  Является автором оригинальной методики обучения постановщиков задач – деловой игры «Тендер». Проводит авторские курсы, такие как «Технология программирования» и «Проектирование и разработка сервисно-ориентированной архитектуры», основанных на опыте разработки как собственных проектов, так и проектов для предприятий и организаций. 

Павел успешно защитил диссертацию на соискание степени кандидата технических наук. 
 
Является фанатом объектно-ориентированного подхода, языка моделирования UML. Любимый язык программирования – С++. В разработке проектов предпочитает использовать подход разработки через тестирование, там где это возможно. 

Сейчас Павел осваивает сферу IoT. Как первый шаг – успешно функционирующий уже два года умный дом в собственной квартире, управляющий освещением и имеющий функции голосового уведомления. 

В разработках программного обеспечения использует Microsoft Visual Studio для проектов на базе технологий Microsoft Net, Eclipse для проектов, связанных с IoT.
Цытович Павел Специалист в области разработки и архитектуры ПО
Павел имеет богатый опыт обучения разработчиков программного обеспечения по всем направлениям Software Engineering, начиная от выяснения потребностей заказчика и ответа на вопрос «Чего тебе надобно, старче?» до создания высоконагруженных систем на основе применения хорошо зарекомендовавших себя решений (паттернов). 
Широко использует в своей научно-практической деятельности методы объектно-ориентированного анализа и проектирования, язык моделирования UML. В качестве разработчика имеет опыт создания нагруженных приложений на платформе Microsoft .NET Framework. 

Свою карьеру Павел начал в  Южно-Уральском государственном университете в 1993 г., где был преподавателем  авторизованного учебного центра при кафедре ЭВМ, позже преподавал цикл дисциплин «Программная инженерия».
В 2011–2012 гг. в качестве архитектора проектных решений компании занимался оценкой, ведением проектов, разработкой архитектурных решений в Fuse 8 Online. 
С 2012 г. – эксперт Luxoft Training по разработке и архитектуре ПО.

В методиках обучения Павел использует проектный подход. В практике преподавания старается опираться на различные психологические упражнения, позволяющие смоделировать реальную ситуацию, возникающую у разработчика в ходе работы над проектом.  Является автором оригинальной методики обучения постановщиков задач – деловой игры «Тендер». Проводит авторские курсы, такие как «Технология программирования» и «Проектирование и разработка сервисно-ориентированной архитектуры», основанных на опыте разработки как собственных проектов, так и проектов для предприятий и организаций. 

Павел успешно защитил диссертацию на соискание степени кандидата технических наук. 
 
Является фанатом объектно-ориентированного подхода, языка моделирования UML. Любимый язык программирования – С++. В разработке проектов предпочитает использовать подход разработки через тестирование, там где это возможно. 

Сейчас Павел осваивает сферу IoT. Как первый шаг – успешно функционирующий уже два года умный дом в собственной квартире, управляющий освещением и имеющий функции голосового уведомления. 

В разработках программного обеспечения использует Microsoft Visual Studio для проектов на базе технологий Microsoft Net, Eclipse для проектов, связанных с IoT.
-10% ФИЗИЧЕСКИМ ЛИЦАМ
Данный курс запланирован в городах: Москва, Санкт-Петербург
23.07.2018 - 25.07.2018
Время: 10:00-18:00
Локация: Москва
Длительность: 24 ч.
Тренер
Цытович Павел
Специалист в области разработки и архитектуры ПО
28 800 1

23.07.2018 - 25.07.2018

Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
03.09.2018 - 05.09.2018
Время: 10:00-18:00
Локация: Санкт-Петербург
Длительность: 24 ч.
Тренер
Цытович Павел
Специалист в области разработки и архитектуры ПО

03.09.2018 - 05.09.2018

Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Москва 28 800 1
Санкт-Петербург 25 920 1
Омск 21 600 1
Киев 7 000 грн.
Одесса 6 300 грн.
Днепр 6 300 грн.
Отзывы:
Участник тренинга
Курс хорошо организован. Материал подается структурированным и понятным образом. Тренер компетентен в данной теме. Наиболее полезным оказалась систематизация методик.
Рекомендуемые курсы для дальнейшего обучения:

Рекомендуемые дополнительные материалы, источники:

  • Шаблоны проектирования (Банда четырех).
  • Мартин Р. Чистый код.
  • Фаулер. М. Рефакторинг: улучшение существующего кода.
  • Кериевски Дж. Рефакторинг с использованием шаблонов.
  • Feathers M.C. Working Effectively with Legacy Code.

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоративное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
По запросу на education@luxoft.com мы ответим на любые дополнительные вопросы касательно обучения в нашем Luxoft Training.
   Подпишись на ежемесячный DigestLT
Успешная форма подписки.
Спасибо!
Форма отправлена успешно.