Порушники об'єктно-орієнтованого дизайну

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

Оператори switch

У вас є складний оператор switch або послідовність if -ів.

Тимчасове поле

Тимчасові поля - це поля, які потрібні об'єкту тільки при певних обставинах. Тільки тоді вони заповнюються якимись значеннями, залишаючись порожніми решту часу.

Відмова від спадку

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

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

Два класи виконують однакові функції, але мають різні назви методів.

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

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

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

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