Порушники об'єктно-орієнтованого дизайну
Всі ці запахи являють собою неповне або неправильне використання можливостей об’єктно-орієнтованого програмування.
У вас є складний оператор switch
або послідовність if
-ів.
Тимчасові поля — це поля, які потрібні об’єкту лише час від часу. Тільки тоді вони заповнюються якимись значеннями, залишаючись порожніми решту часу.
Якщо підклас використовує лише малу частину успадкованих методів і властивостей суперкласа, це є ознакою неправильної ієрархії. При цьому зайві методи можуть просто не використовуватися або бути перевизначеними і викидати виключення.
Два класи виконують однакові функції, але мають різні назви методів.