REFACTOR 
leonardo amarilho 
github.com/leopoa
Objetivo 
Tornar o software 
mais fácil de 
compreender 
e modificar.
Alguns erros comuns 
Alterar Funcionalidade 
Otimização de desempenho
Alterar Funcionalidade 
Comportamento do 
software não pode ser 
alterado após a refatoração
Otimização de desempenho 
Normalmente altera a estrutura e muitas vezes 
torna o código mais difícil de entender.
Benefícios 
● Qualidade 
● Entendimento 
● Encontrar erros
Entendimento 
Refatoração ajuda a 
tornar o código 
mais legível
Qualidade 
Ajuda a projetar e 
manter o software 
com bom design 
e código limpo
Dificuldade no trabalho? 
Programas que são 
difíceis de ler são 
difíceis de modificar
Dificuldade no trabalho? 
Código mal projetado 
geralmente leva mais 
código para fazer as 
mesmas coisas
Dificuldade no trabalho? 
Programas com lógica 
condicional complexa são 
difíceis de modificar.
Quando devo fazer?
Sempre que possível!
Alguns exemplos 
● Adicionar Função 
● Corrigir um erro 
● Code review
Adicionar Função 
Refatorar o código, 
pode ajudar no 
entendimento
Corrigir um erro 
Código não estava claro 
suficiente para você 
perceber o problema
Alerta 
Não ter tempo suficiente 
devido complexidade, é 
geralmente um sinal de 
que você precisa fazer 
alguma refatoração
Kent Beck 
"Eu não sou um 
grande programador, 
eu sou apenas um 
bom programador 
com ótimos hábitos."
leonardo amarilho 
github.com/leopoa

Refatoração

Notas do Editor

  • #8 refatoração para me ajudar a entender o código desconhecido
  • #9 Mal projetado você gasta tempo a encontrar e corrigir bugs em vez de adicionar nova função.
  • #11 As alterações demorar pq precisa entender o sistema e encontrar o código duplicado. Os novos recursos precisam de mais codificação pra remendar ou duplicar