Microsoft Silver Partner
Оформити заявку

Курс - Рефакторінг у програмах .NET

Изображение к курсу Рефакторінг у програмах .NET
Курс Рефакторінг у програмах .NET
Тривалість 8 днів / 16 годин
Кількість уроків 5

Очне навчання

1690 UAH Записатися

Онлайн навчання

1690 UAH Записатися

Відео навчання

Підписатися

Консультації

Записатися
Курс "Рефакторінг .NET програм" (Refactoring .NET Applications) складається із 10 уроків, на протязі яких слухачі отримують представлення про те, що таке рефакторінг, яких цілей він дозволяє досягти та які можливості від надає.

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

По завершені курсу Ви отримаєте комплексне розуміння рефакторінгу та зможете успішно використовувати його як для покращення існуючого коду, так і для створення нових надійних систем. Для Вас не становитиме труднощів розробляти легко супроводжувані та розширювані програми, що мають прозору логіку та гнучку структуру.
• Знання та впевнене використання основних бібліотек .NET Framework
• Досвід програмування на C#
• Знання ООП
• Досвід роботи із Visual Studio останньої версії
Програмісти-початківці, а також програмісти, що мають досвід розробки програм на мові C#, проектувальники та архітектори, які бажають зрозуміти принципи рефакторінгу та навчитися застосовувати його у своїх проектах
Урок 1

Вступ до рефакторінгу

На уроці студенти познайомляться з поняттям рефакторінгу, а також дізнаються про основні проблеми, з якими стикаються розробники при роботі над програмним кодом. Окрема увага приділяється поняттям зв’язності та зв’язаності

Урок 2

Складання методів

Урок присвячений аналізу проблем, які виникають при розробці внутрішньої структури методів. Слухачі навчаться створювати максимально зручні при використанні та гнучкі у розширені методи.

Розглядаються рефакторінги:

• Виділення методу
• Вбудова методу
• Вбудова тимчасової змінної
• Заміна тимчасової змінної викликом методу
• Введення пояснювальної змінної
• Розбиття тимчасової змінної
• Видалення присвоювань параметрам
• Заміна метода об’єктом методів
• Заміна алгоритму

Урок 3

Переміщення функцій між об’єктами

На даному уроці увага акцентується на вирішенні проблеми розміщення методів при безпосередньому проектуванні об’єктів.

Розглядаються рефакторінги:

• Переміщення методу
• Переміщення поля
• Виділення класу
• Вбудова класу
• Приховування делегування
• Видалення посередника
• Введення зовнішнього методу
• Введення локального розширення

Урок 4

Організація даних.

Обговорюються методи рефакторінгу, що полегшують роботу з даними. Порушуються питання самоінкапсуляції, заміни значень посиланнями, дублювання даних, взаємозамінності однонаправлених та двонаправлених зв’язків. Також розглядається інкапсуляція полів та колекцій, введення нових класів для вирішення проблем пов’язаних із логічною структурою об’єктів.

Розглядаються рефакторінги:

• Самоінкапсуляція поля
• Заміна значення даних об’єктом
• Заміна значення посиланням
• Заміна посилання значенням
• Заміна масиву об’єктом
• Дублювання видимих даних
• Заміна однонаправленого зв’язку на двунаправлений
• Заміна двунаправленого зв’язку на однонаправлений
• Заміна магічного числа символьною константою
• Інкапсуляція поля
• Інкапсуляція колекції
• Заміна запису класом даних
• Заміна коду типу класом
• Заміна коду типу підкласом
• Заміна коду типу станом/стратегією
• Заміна підкласу полями

Урок 5

Спрощення умовних виразів

Із зростанням проекту логіка умовного виконання має тенденцію ставати складною, тому ми розглядаємо техніки, що дозволяють відокремлювати логіку від безпосереднього виконання.

Розглядаються рефакторінги:

• Декомпозиція умовного оператора
• Консолідація умовного виразу
• Консолідація умовних фрагментів, що дублюються
• Видалення прапору управління
• Заміна вкладених умовних операторів граничним оператором
• Заміна умовного оператора поліморфізмом
• Введення об’єкта Null
• Введення стверджень

Урок 6

Спрощення викликів методів.

Урок присвячений розгляданню технік, що дозволяють розробляти інтерфейси, які прості у розумінні та застосуванні. Розглядаються фабричні методи, інкапсуляція приведення типів, виняткові ситуації.

Розглядаються рефакторінги:

• Перейменування методу
• Додавання параметрів
• Видалення параметрів
• Розділення запиту і модифікатора
• Параметризація методу
• Заміна параметра явними методами
• Збереження всього об’єкту
• Заміна параметра викликом методу
• Введення граничного об’єкту
• Видалення методу установки значення
• Приховування методу
• Заміна конструктора фабричним методом
• Інкапсуляція низхідного перетворення типу
• Заміна коду помилки винятковою ситуацією
• Заміна виняткової ситуації перевіркою

Урок 7

Розв’язання задач узагальнення

На уроці розглядаються техніки, що складають окрему групу рефакторінгів, в основному пов’язаних із переміщенням методів по ієрархії спадкування.

Розглядаються рефакторінги:

• Підйом поля
• Підйом методу
• Підйом тіла конструктора
• Спуск методу
• Спуск поля
• Виділення підкласу
• Виділення батьківського класу
• Виділення інтерфейсу
• Згортання ієрархії
• Формування шаблону методу
• Заміна спадкування делегуванням
• Заміна делегування спадкуванням

Урок 8

Крупні рефакторінги

Узагальнення матеріалу попередніх уроків, що дозволяє отримати чітке представленя про основні цілі рефакторінгу, а також побачити взаємодію різних технік у єдиному контексті.

Розглядаються рефакторінги:

• Розділення спадкування
• Перетворення процедурного проекту у об’єкти
• Відокремлення предметної області від її представлення
• Виділення ієрархії

• Розуміти призначення та застосування рефакторінгу
• Створювати об’єктно-орієнтовані та легко розширювані програми, використовуючи рефакторінг
• Застосовувати різноманітні підходи для покращення структурної цілісності та продуктивності існуючих програм
• Крок за кроком покращувати проект, а також запобігати "розпаду" погано спроектованих програм
• Швидко аналізувати код з метою його покращення
• Оперативно знаходити недоліки в коді та ефективно їх позбуватися
• Поетапно модифікувати код, додаючи кожний раз незначні зміни
• Застосовувати отриманні знання на реальних проектах
Check mark Записатися у навчальний центр Separator Онлайн форма регістрації
Стаціонар Напівстаціонар 3 дні на тиждень
Дата початку Дата закінчення Час

Не знайшли потрібний курс в розкладі? Оформіть заявку

Стаціонар Напівстаціонар 3 дні на тиждень
Дата початку Дата закінчення Час

Не знайшли потрібний курс в розкладі? Оформите заявку