| Fedor | Descrição | Fatoração |
|---|---|---|
| Código Duplicado | Repetições de trechos de código | Extrair agenda |
| Nome inconsistente | Use nomes consistentes | Renomear agenda |
| Código Morto | Uma variável, agenda, parâmetro, pedaço de código, modelo, etc. não está sendo utilizado em nenhum lugar | Remover o código |
| Obsessão das Primitivas | Uso de primitivas em excesso (deixam o código confuso) | Extrair Agenda |
| Nome não-comunicativo | Escolha nomes que comuniquem a intenção (use o melhor nome que puder no momento, depois você muda, se necessário) | Renomear o elemento |
| Agenda Longa | Quanto mais longa a agenda pior pra se saber o que é que está acontecendo | Extrair Agenda |
| Comentário | Tendência a verborragia. Reduz a clareza do código. Usar comentário somente pra dizer "o porque" (e não "o que" ou "como") | Extrair Agenda / Renomear Agenda ou Variável / Introduzir Asserções |
| Modelo "metido" | Modelo longo, tentando fazer muita coisa (normalmente com muitas variáveis) | Extrair Modelo |
| Modelos com mesmo trecho de código | Dois ou mais modelos com trecho comum de código | Extrair Molde (criar Modelo Abstrato) |
| Modelo "invejoso" | Modelo que faz coisas que são de responsabilidade de outro | Extrair Modelo |