Улучшение кода в приложениях .NET (refactoring) — SynergyCom

Улучшение кода в приложениях .NET (refactoring)

Код курса: DEV-009 Продолжительность: 2 дня (16 часов)

Аннотация

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

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

Предварительные требования

  • Знания и уверенное использование основных библиотек .NET Framework
  • Опыт программирования на C#
  • Знание ООП
  • Опыт работы с Visual Studio.

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

Начинающие программисты, а также программисты имеющие опыт разработки приложений на языке C#, проектировщики и архитекторы, которые хотят понять принципы рефакторинга и научиться применять его в своих проектах.

 

Модуль 1. Введение в рефакторинг

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

Модуль 2. Составление методов

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

Рассмотрение рефакторингов:

  • Выделение метода
  • Встраивание метода
  • Встраивание временной переменной
  • Замена временной переменной вызовом метода
  • Введение поясняющей переменной
  • Расщепление временной переменной
  • Замена метода объектом методов
  • Перемещение метода
  • Перемещение поля
  • Выделение класса
  • Встраивание класса
  • Сокрытие делегирования
  • Удаление посредника.

Модуль 3. Организация данных

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

Рассмотрение рефакторингов:

  • Замена значения данных объектом
  • Замена значений ссылкой
  • Замена однонаправленной связи двунаправленной
  • Инкапсуляция коллекции
  • Замена кода типа подклассом
  • Замена кода типа состоянием/стратегией
  • Замена подкласса полями.

Модуль 4. Упрощение условных выражений

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

Рассмотрение рефакторингов:

  • Декомпозиция условного оператора
  • Консолидация условного выражения
  • Консолидация дублирующихся условных фрагментов
  • Удаление управляющего флага
  • Замена вложенных условных операторов граничным оператором
  • Замена условного оператора полиморфизмом
  • Введение объекта Null.

Модуль 5 Решение задач обобщения

В модуле рассматриваются техники, составляющие отдельную группу рефакторингов, в основном связанных с перемещением методов по иерархии наследования.

Рассмотрение рефакторингов:

  • Подъем поля
  • Подъем метода
  • Спуск метода
  • Спуск поля
  • Выделение подкласса
  • Выделение родительского класса
  • Выделение интерфейса
  • Замена наследования делегированием
  • Замена делегирования наследованием.

Курс не запланирован.

Вы можете подать заявку на открытие курса:

Каталог услуг

Поиск по сайту