Object-Orientation Abusers.
Classes Alternativas com Interfaces Diferentes
Duas classes executam funções idênticas, mas têm nomes de métodos diferentes.
Herança Recusada
Se uma subclasse usa apenas alguns dos métodos e propriedades herdados de suas classes pai, a hierarquia está desequilibrada. Os métodos desnecessários podem simplesmente ficar sem uso ou serem redefinidos e lançar exceções.
Comandos Switch
Você tem um operador switch complexo ou uma sequência de instruções if.
Campo Temporário
Campos temporários recebem seus valores (e, portanto, são necessários aos objetos) apenas sob certas circunstâncias. Fora dessas circunstâncias, eles ficam vazios.