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

Альтернативные классы с разными интерфейсами

Также известен как: Alternative Classes with Different Interfaces

Симптомы и признаки

Два класса выполняют одинаковые функции, но имеют разные названия методов.

Причины появления

Программист, который создал один из классов, скорей всего, не знал о том, что в программе уже существует аналогичный по функциям класс.

Лечение

Постарайтесь привести интерфейс классов к общему знаменателю:

Выигрыш

  • Вы избавляетесь от ненужного дублирования кода, и, таким образом, уменьшаете его размер.

  • Повышается читабельность кода, улучшается его понимание. Вам больше не придется гадать, зачем создавался второй класс, выполняющий точно такие же функции, как и первый.

Не стоит трогать, если...

  • Иногда объединить классы оказывается невозможно либо настолько сложно, что смысла заниматься этой работой нет. Один из примеров — альтернативные классы находятся в двух разных библиотеках, каждая из которых имеет свою версию класса.