O que é Refactoring?
Refactoring (em português, refatoração) é o processo de simplificar o código mantendo o seu comportamento.
Definição e origem da palavra
A estrutura interna é renovada sem alterar a aparência externa. A legibilidade do código aumenta, facilitando a adição de novas funcionalidades. É um processo de limpeza que quita a dívida técnica. Martin Fowler é o nome de referência nesta disciplina.
Como conhecer e usar no dia a dia?
Revisão: Rodadas de revisão de código.
Pagamento de dívida: Limpeza intercalada dentro da sprint.
Assumir o controle: Simplificação antes de entrar no código antigo.
Profundidade Técnica e Arquitetura
Movimentos comuns:
Extração de função: Dividir um bloco longo em uma parte nomeada.
Renomeação: Nome que expressa a intenção.
Código morto: Excluir o que não é utilizado.
Exemplo:
# önce
def f(a):
return a*a*3.14
# sonra
def daire_alani(yaricap):
return yaricap * yaricap * 3.14Regra: Primeiro escreve-se o teste, depois mexe-se no código. Se não houver teste, a primeira tarefa é o teste.
Coisas frequentemente misturadas
Pensa-se que é uma funcionalidade ou correção de erro. No entanto, o resultado não muda, apenas a estrutura interna melhora. O comportamento é o mesmo, o código é diferente.
Use em diferentes disciplinas
Encanamento: Renovar a tubulação enquanto a parede permanece.
Redação: O assunto é o mesmo, a frase é fluida.
Poda: A árvore é a mesma, o arranjo dos galhos é ordenado.
Perguntas e respostas
Por que fazemos isso?
Código limpo evita erros e lentidão, acelerando o novo trabalho.
Quando é feito?
No código que está sendo tocado, em pequenas partes. Uma grande limpeza é planejada separadamente.
Qual é o risco?
Tocar no código sem testes altera o comportamento. Não se deve intervir sem a garantia de testes.
Com que frequência é feito?
Continuamente, em pequenas doses. É intercalado dentro da sprint, não é adiado.
Termos relacionados
Ferramentas relacionadas
Esta explicação foi escrita em linguagem simples para a TreScout com IA e traduzida automaticamente do original em turco · a versão turca é a que vale. Se algo parecer errado ou faltando, escreva para hello@trescout.com. Ler em turco →