1 - nomes estranhos
renomear variáveis renomear métodos renomear classes renomear arquivos renomear pastas
2 - números mágicos
extrair constantes extrair variáveis explicativas
3 - comentários
renomear extrair método extrair variável explicativa
4 - código morto
apagar
5 - linhas em branco
remover linhas em branco
6 - condições confusas
extrair condição remover condições aninhadas por cláusulas guarda consolidar condições introduzir ternário
7 - falta de tratamento de exceptions
substituir código de erro por exception incorporar informações de tratamento
8 - método longo
9 - "classe grande"
10 - quebrando o OCP (Open/Closed Principle)
11 - inveja de dados
mover métodos ocultar delegações
12 - longa lista de parâmetros
quanto menos parâmetros melhor
introduzir abstrações introduzir objetos parâmetro
13 - algoritmo melhor
substituir algoritmo