Заплутувальники зв'язками

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

Заздрісні функції

Метод звертається до даних іншого об'єкту частіше, ніж до власних даних.

Недоречна близькість

Один клас використовує службові поля і методи іншого класу.

Ланцюжок викликів

Ви бачите в коді ланцюжок викликів на зразок такого $a->b()->c()->d()

Посередник

Якщо клас виконує тільки одну дію - делегує роботу іншому класу - варто замислитись, навіщо він взагалі існує.

Замучились читати?

Збігайте за подушкою, в нас тут контенту приблизно на 7 годин читання.

Або спробуйте наш новий інтерактивний курс з рефакторингу. Він більш інформативний та набагато цікавіший за банальний тест.

Дізнатися більше...