Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git на GitByBit.com! Привіт! Хочеш класно освіжити Git? Глянь мій новий курс на GitByBit.com!

Вбудовування класу

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

Проблема

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

Рішення

Перемістіть усі фічі з цього класу в інший.

До
Inline Class - Before
Після
Inline Class - After

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

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

Переваги

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

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

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

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

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

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