Опутыватели связями

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

Завистливые функции

Метод обращается к данным другого объекта чаще, чем к собственным данным.

Неуместная близость

Один класс использует служебные поля и методы другого класса.

Цепочка вызовов

Вы видите в коде цепочки вызовов вроде такой $a->b()->c()->d()

Посредник

Если класс выполняет одно действие – делегирует работу другому классу – стоит задуматься, зачем он вообще существует.

Устали читать?

Сбегайте за подушкой, у нас тут контента на 7 часов чтения.

Или попробуйте наш новый интерактивный курс по рефакторингу. Он более информативный и гораздо более интересный, чем банальный текст.

Узнать больше...