Весняний РОЗПРОДАЖ

Видалення параметру

Також відомий як: Remove Parameter

Проблема

Параметр не використовується в тілі методу.

Рішення

Видаліть невживаний параметр.

До
Remove Parameter - Before
Після
Remove Parameter - After

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

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

Крім того, додаткові параметри — це ще і зайвий код до виконання.

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

Переваги

  • Метод повинен містити тільки дійсно необхідні параметри.

Коли не слід застосовувати

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

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

  1. Перевірте, чи не визначений метод в суперкласі або підкласі. Якщо так, чи використовується там параметр? Якщо в якійсь з реалізацій параметр використовується, утримайтеся від рефакторингу.

  2. Наступний крок потрібен, щоб зберегти працездатність програми під час рефакторингу. Створіть новий метод, скопіювавши старий, і видаліть з нього необхідний параметр. Замініть код старого методу викликом нового методу.

  3. Знайдіть усі звернення до старого методу і замініть їх зверненнями до нового методу.

  4. Видаліть старий метод. Цей крок неможливо виконати, якщо старий метод є частиною публічного інтерфейсу. В цьому випадку, старий метод треба помітити як застарілий (deprecated)