Видалення параметру
Проблема
Параметр не використовується в тілі методу.
Рішення
Видаліть невживаний параметр.
Причини рефакторингу
Кожен параметр у виклику методу примушує людину, що пише код методу, роздумувати про те, яка інформація може опинитися в цьому параметрі. І якщо параметр потім зовсім не використовується в тілі методу, значить, весь цей розумовий процес йде даремно.
Крім того, додаткові параметри — це ще і зайвий код до виконання.
Іноді ми додаємо параметри на майбутнє, передчуваючи в майбутньому зміни в методі, для яких знадобиться цей параметр. Проте, досвід показує, що краще додати параметр тоді, коли він дійсно знадобиться, адже очікувані зміни можуть так і не настати.
Переваги
- Метод повинен містити тільки дійсно необхідні параметри.
Коли не слід застосовувати
- Не варто починати цей рефакторинг, якщо метод має альтернативні реалізації в підкласах або в суперкласі, і ваш параметр використовується в цих реалізаціях.
Порядок рефакторингу
-
Перевірте, чи не визначений метод в суперкласі або підкласі. Якщо так, чи використовується там параметр? Якщо в якійсь з реалізацій параметр використовується, утримайтеся від рефакторингу.
-
Наступний крок потрібен, щоб зберегти працездатність програми під час рефакторингу. Створіть новий метод, скопіювавши старий, і видаліть з нього необхідний параметр. Замініть код старого методу викликом нового методу.
-
Знайдіть усі звернення до старого методу і замініть їх зверненнями до нового методу.
-
Видаліть старий метод. Цей крок неможливо виконати, якщо старий метод є частиною публічного інтерфейсу. В цьому випадку, старий метод треба помітити як застарілий (
deprecated
)