Рефакторинг кода на языке C#

На тренинге рассматриваются подходы и методы улучшения читабельности исходного кода на языке C#. В качестве практики слушателям предлагается выполнить рефакторинг небольших программ, фокусирующих внимание на тех или иных аспектах улучшения существующего кода.
Курс: DEV-006_NET
Длительность: 24 ч.

Описание

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

Если вы узнали свои будни, тогда этот тренинг вам будет полезен. Мы изучим, что такое запахи кода, как и когда они появляются, а также какие существуют техники их устранения. Мы начнем с простейших проблем в одной функции, и закончим проблемами взаимодействия между классами. Мы поговорим о том, как надо делать и что не надо делать, чтобы ваш код было легко читать.

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

  1. Рефакторинг – введение. Понятие рефакторинга, для чего нужен рефакторинг кода. Разработка через тестирование.
  2. Запахи кода. Общая информация. Определение запаха кода. Принципы хорошего дизайна. Запахи кода в тестах, запахи в базах данных (обзор). Запахи в архитектуре, запахи в управлении персоналом.
  3. Общие проблемы в коде. Организация данных. Поля. Массивы данных. Ссылки и значения. Кодовые поля. Упрощение условных выражений. Упрощение вызова методов. Работа с обобщениями. Композиция методов.
  4. Проблемы внутри класса. Легко обнаруживаемые проблемы. Именование. Чрезмерная сложность. Дублирование. Условная логика.
  5. Перемещение функционала между объектами. Принцип единой ответственности. Связность. Закон Деметра. Передвижение методов/полей. Выделение класса. Встраивание класса. Сокрытие делегатов. Удаление посредника. Методы расширения.
  6. Проблемы во взаимодействии классов. Данные. Наследование. Ответственность. Приспосабливающиеся изменения. Библиотечные классы.

Цели

На этом тренинге слушатели получат представление:
  • О том, что такое запахи кода.
  • О передовых техниках улучшения читабельности существующего кода.
После тренинга слушатели будут уметь:
  • Выделять проблемные места в программном коде на языке C#.
  • Улучшать читабельность исходного кода на языке C#.

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

Разработчики исходного кода на языке С# с опытом работы от 1 года до 2 лет.

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

  • Базовые общие знания в области программирования

  • Базовые знания скриптовых языков

  • Способность понимать логические потоки кода

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

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

Павел использует в своей тренерской деятельности передовые методы. Это и проектный подход, когда на тренингах группа решает сквозной пример, раз за разом проходя к цели, изучая теоретический материал и сразу применяя его на практике, это и разработка через тестирование, когда все примеры построены в связке тест и код, что облегчает понимание не только теории, но и аспектов ее использования на практике.

Павел обладает большим практическим опытом проведения дистанционных тренингов.

Проекты:

  • разработка адаптивных систем управления электроосвещением и другого оборудования в квартирах и коттеджах (умный дом) на основе психологического состояния человека и его паттернов поведения

  • разработал драйвер на NodeJS для технологии Noolite-F применяемой в умных домах, а также адаптер для применения этого драйвера в системе умного дома IoBroker

  • в репозитории https://github.com/paveltsytovich представлено больше разработок Павла.


Сфера научных интересов: автоматизация разработки программного обеспечения, объектно-ориентированные операционные системы и среды.

Данный курс запланирован в городах: Онлайн
11.05.2021 - 14.05.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 16 ч.
Тренер
Цытович Павел
Эксперт в области разработки и архитектуры ПО
20 200 руб.
7 000 грн.
В корзину

11.05.2021

11.05.2021 - 14.05.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 16 ч.
Тренер
Цытович Павел
Эксперт в области разработки и архитектуры ПО
20 200 руб.
7 000 грн.
В корзину
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 30 200 руб.
7 000 грн.
Отзывы:
Участник тренинга
Курс хорошо организован. Материал подается структурированным и понятным образом. Тренер компетентен в данной теме. Наиболее полезным оказалась систематизация методик.

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

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

Имя *

Отчество

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

Компания *

Телефон *

Город *

Комментарий
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.