O documento discute os benefícios da refatoração de código, incluindo tornar o código mais legível e de fácil manutenção, facilitar a adição de novas funcionalidades e correção de bugs. A refatoração envolve reestruturar o código sem alterar seu comportamento externo para melhorar o design, organização e testabilidade. Algumas técnicas comuns de refatoração são descritas como extrair função, extrair variável e funções inline.
2. PAULA
sudo:~$ whoami -Engenharia Framework
- 1 ano de Itaú
-Arquitetura de Soluções
-2008 - Etec
-Professora, suporte.
-2014 Programadora Java
-Formação em Gestão em Logística
-Comunidades SouJava, Devs JavaGirl e
MNTBS
-MVP Java América Latina
-Escritora DevIniciative e Medium
-Palestrante
4. MARTIN FOWLER
Sobre
-Inglês
-Mora nos EUA - Subúrbio de Boston
-University College London - Engenharia Eletrônica e Ciência da Computação
-Autor
-Palestrante
-Aplicações Corporativas, Arquitetura de Software
-ThoughtWorks - desde 2000
-Um dos 17 autores do Manifesto Ágil (https://www.manifestoagil.com.br/)
7. REFATORAÇÃO
O que é
A refatoração é uma técnica para reestruturar um corpo de código
existente, alterando sua estrutura interna sem alterar seu
comportamento externo.
8. SABER
O que você deve
Cada Refatoração faz
pouco, mas a sequência
dessas transformações
pode produzir uma
reestruturação
significativa.
9. SABER
O que você deve
Quanto mais complicada a
situação, menores os passos.
Como cada refatoração é
pequena, é menos provável
que dê errado.
10. NÃO LIGA SE O CÓDIGO É FEIO
O compilador
Por que precisamos fazer um código que seja legível?
Legível pra quem ?
11. "Qualquer tolo pode escrever código
que um computador possa entender.
Bons programadores escrevem
código que os humanos podem
entender."
by Martin Fowler
14. TESTES
Totalmente automáticos e que verificam seus próprios resultados.
Executar testes com freqüência.
Executar teste que exercitam o código no qual você está trabalhando pelo
menos a cada poucos minutos;
Execute todos os testes pelo menos diariamente.
Refatoração também deve ser aplicada nos testes quando necessário.
Testes devem ser claros.
Quantidade != Qualidade
15. UM BOM TESTE DE CÓDIGO
DEVE SER FÁCIL DE SER
ALTERADO.
16. QUANDO VOCÊ PRECISAR ADICIONAR
UM RECURSO A UM PROGRAMA, MAS O
CÓDIGO NÃO ESTIVER ESTRUTURADO
DE MANEIRA CONVENIENTE, REFATORE O
PROGRAMA PARA FACILITAR A ADIÇÃO
DO RECURSO E, EM SEGUIDA, ADICIONE
O RECURSO.
25. SE FEDE,
MUDE
Código duplicado
Função ou Método Longo
Lista longa de parâmetros
Dados Globais
Dados Mutáveis
Mudança Divergente
Cirurgia por espingarda
Inveja do Recurso
Agrupamento de Dados
Obsessão Primitiva
Switches Repetidos
Loops
Classe grande
26. COMENTÁRIOS
/**Quando você sentir necessidade de
escrever um comentário, primeiro tente
refatorar o código para que qualquer
comentário se torne supérfluo.**/
27. POR ONDE COMEÇAR
Extrair Função
Extrair Variável
Função Inline
Variável Inline
Alterar Declaração de Função
Renomear variável
Encapsular Variável
Introduzir Objeto de Parâmetro
Combinar Funções na Classe
Combine Functions into Transform
Fase dividida
29. SEPARAÇÃO ENTRE INTENÇÃO E
IMPLEMENTAÇÃO.
NO O QUÊ, NÃO NO COMO
AS FUNÇÕES NÃO DEVEM SER MAIORES DO
QUE CABEM NA TELA.
QUALQUER CÓDIGO USADO MAIS DE UMA VEZ
DEVE SER COLOCADO EM SUA PRÓPRIA FUNÇÃO
30. A OTIMIZAÇÃO DE COMPILADORES GERALMENTE FUNCIONA
MELHOR COM FUNÇÕES MAIS CURTAS, QUE PODEM SER
ARMAZENADAS EM CACHE COM MAIS FACILIDADE..
PEQUENAS FUNÇÕES FUNCIONAM APENAS
SE OS NOMES FOREM BONS
32. VARIÁVEIS LOCAIS PODEM AJUDAR A DIVIDIR A
EXPRESSÃO EM ALGO MAIS GERENCIÁVEL
PERMITE ENTENDER MELHOR O PROPÓSITO DO QUE ESTÁ
ACONTECENDO.
FACILITA PARA DEPURAÇÃO
42. Sobre pontos citados na Palestra :
Site onde vocês podem criar uma conta de teste para ler
vários livros legais, lá tem todo conteúdo mais avançado!
https://learning.oreilly.com/home/
Fonte da palestra :
https://refactoring.com/
Link para vocês baixarem o primeiro capítulo do livro grátis:
https://www.thoughtworks.com/pt/books