Також відомий як Inline Class

Рефакторинг Вбудовування класу

Проблема

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

Рішення

Перемістіть усі фічі з цього класу в інший.
До
Inline Class - Before
Після
Inline Class - After

Причини рефакторингу

Часто цей рефакторинг стає наслідком недавнього «перенесення» частини фіч з одного класу в іншій, після чого від початкового класу мало що залишилося.

Переваги

  • Менше даремних класів - більше вільної оперативної пам'яті, у тому числі, і у вас в голові.

Порядок рефакторингу

  1. Створіть в класі-одержувачі публічні поля і методи, такі ж, як в класі-донорі. Методи повинні звертатися до аналогічних методів класу-донору.

  2. Замініть усі звернення до класу-донору зверненнями до полів і методів класу-одержувача.

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

  4. Видаліть початковий клас.

Замучились читати?

Збігайте за подушкою, в нас тут контенту приблизно на 7 годин читання.

Або спробуйте наш новий інтерактивний курс з рефакторингу. Він більш інформативний та набагато цікавіший за банальний тест.

Дізнатися більше...

Живий приклад

Перший раз у нас? Нічого страшного!

У нас тут все просто – цей інтерактивний приклад дуже схожий на відео (хоча й виглядає набагато крутіше).

  1. Натискаєте велику кнопку "Почати", а далі слідуєте усім підказкам.
  2. Ви можете перемотувати програвання, використовуючи стрілки зліва.
  3. Окрім того, ви можете подивитися різницю між стартовим та отриманим кодом, натиснувши кнопку ока ().
  4. Кнопка компіляції та тестування () дає змогу перевірити код на наявність помилок.