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