Autumn SALE

Приховання методу

Також відомий як: Hide Method

Проблема

Метод не використовується іншими класами або використовується тільки всередині своєї ієрархії класів.

Рішення

Зробіть метод приватним або захищеним.

До
Hide Method - Before
Після
Hide Method - After

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

Дуже часто потреба в прихованні методів отримання та установки значень виникає в зв’язку з розробкою більш багатого інтерфейсу, що надає додаткову поведінку. Особливо це проявляється, якщо ви починали з класу який не мав ніяких методів, крім геттерів та сеттерів.

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

Переваги

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

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

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

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

  2. Робіть кожен метод настільки приватним, наскільки це можливо.