Керівництво c #, рефакторинг коду
Можливості рефакторінга коду
Extract Method
(Витяг методу)
Дозволяє визначати новий метод на основі обираних операторів програмного коду
Encapsulate Field
(Інкапсуляція поля)
Дозволяє перетворювати загальнодоступне поле в приватне, інкапсульоване в форму властивість C #
Extract Interface
(Витяг інтерфейсу)
Дозволяє визначати новий тип інтерфейсу на основі набору існуючих членів типу
Reorder Parameters
(Перегрупування параметрів)
Дозволяє змінювати порядок проходження аргументів на члені
Remove Parameters
(Видалення параметрів)
Дозволяє видаляти певний аргумент з поточного списку параметрів
Дозволяє перейменовувати використовуваний в коді метод, поле, локальну змінну і т.д. по всьому проекту
Щоб побачити процес рефакторинга в дії, давайте модифікуємо метод Main (), додавши в нього наступний код:
В такому, як він є вигляді, в цьому коді немає нічого неправильного, але давайте уявимо, що виникло бажання зробити так, щоб дане вітальне повідомлення відображалося в різних місцях по всій програмі. В ідеалі замість того, щоб заново вводити ту ж саму відповідальну за настройку консольного інтерфейсу логіку, було б непогано мати допоміжну функцію, яку можна було б викликати для вирішення цього завдання. З огляду на це, спробуємо застосувати до існуючого коду прийом рефакторінга Extract Method (Витяг методу).
У відкритому далі вікні призначте новому методу ім'я MyConfigCUI ():

Після цього метод Main () стане викликати новий щойно згенерований метод MyConfigCUI (), всередині якого буде міститися виділений раніше код:
Неважко помітити, подібні майстри дозволяють досить легко виробляти рефакторинг коду не тільки на одній сторінці, а й у всьому додатку. До числа інших доступних можливостей відносяться:
перейменування методів, локальних змінних, полів і безлічі інших елементів
витяг методів з виділених фрагментів коду
витяг інтерфейсів на основі набору існуючих членів типу
перетворення локальних змінних в параметри
перейменування або переупорядочивание параметрів