Refatorar!Porque ninguém gosta de código que cheira mal
@andreitognolo
github.com/elsouzaeliaslsouza@gmail.com
"Um bom desenvolvedor consegue entenderqualquer código.”(Anônimo)
"Um bom programador consegue escrevercódigo que qualquer um entende"(Outro anônimo, mais sábio)
O que é refatorar?
"é o processo de modificarum sistema de software paramelhorar a estrutura internado código sem alterarseu comportamentoext...
Parte IComo eu consigo tempo para refatorar?
100 joao if (...) {100 joao if (...)100 joao resultado = 1;100 joao if (...)100 joao resultado = 2;150 joaquim if (...)150...
"The single most important trait of a professional programmeris personal responsibility [...]. A professionalprogrammer do...
sempre que você modificaalgo em um método, vocêtem que deixar ele melhordo que encontrouMoral da história
Se eu tenho cobertura de testes,eu sou corajoso e posso alterar código quejá funciona sem medo
Pequenas refatorações a cada momentoNão existem refatoraçõesmonstruosas sem pequenos passosPassos consistentes
Parte IITécnicas de refatoração
● Sistema de vendas● Cada venda tem itens● O valor total da venda é a soma dos itens● Uma venda pode ser parcelada● Se a v...
Métodolongo
ComplexidadecondicionalMétodolongo
ComplexidadecondicionalPrincípio daresponsabilidadeúnica (Classe enorme)Métodolongo
(clique para ver o vídeo)
1. Criar classe VendaAPrazo e VendaAVista2. Introduce Factory (roda teste)3. Alterar o método factory (roda teste)4. Class...
(clique para ver o vídeo)
Resumo● Ser responsável de verdade pelo seu código● Você não vai ter tempo/dinheiro para uma refatoração grande● Pequenos ...
Onde saber mais?Versão estendida dessa palestra:
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheira mal
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheira mal
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheira mal
Próximos SlideShares
Carregando em…5
×

TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheira mal

361 visualizações

Publicada em

Apresentação na trilha Java

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
361
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheira mal

  1. 1. Refatorar!Porque ninguém gosta de código que cheira mal
  2. 2. @andreitognolo
  3. 3. github.com/elsouzaeliaslsouza@gmail.com
  4. 4. "Um bom desenvolvedor consegue entenderqualquer código.”(Anônimo)
  5. 5. "Um bom programador consegue escrevercódigo que qualquer um entende"(Outro anônimo, mais sábio)
  6. 6. O que é refatorar?
  7. 7. "é o processo de modificarum sistema de software paramelhorar a estrutura internado código sem alterarseu comportamentoexterno"Wikipedia
  8. 8. Parte IComo eu consigo tempo para refatorar?
  9. 9. 100 joao if (...) {100 joao if (...)100 joao resultado = 1;100 joao if (...)100 joao resultado = 2;150 joaquim if (...)150 joaquim resultado = 3;100 joao }
  10. 10. "The single most important trait of a professional programmeris personal responsibility [...]. A professionalprogrammer does not passthat responsibility offon others".(Uncle Bob)
  11. 11. sempre que você modificaalgo em um método, vocêtem que deixar ele melhordo que encontrouMoral da história
  12. 12. Se eu tenho cobertura de testes,eu sou corajoso e posso alterar código quejá funciona sem medo
  13. 13. Pequenas refatorações a cada momentoNão existem refatoraçõesmonstruosas sem pequenos passosPassos consistentes
  14. 14. Parte IITécnicas de refatoração
  15. 15. ● Sistema de vendas● Cada venda tem itens● O valor total da venda é a soma dos itens● Uma venda pode ser parcelada● Se a venda for parcelada ela pode ter jurosCenário
  16. 16. Métodolongo
  17. 17. ComplexidadecondicionalMétodolongo
  18. 18. ComplexidadecondicionalPrincípio daresponsabilidadeúnica (Classe enorme)Métodolongo
  19. 19. (clique para ver o vídeo)
  20. 20. 1. Criar classe VendaAPrazo e VendaAVista2. Introduce Factory (roda teste)3. Alterar o método factory (roda teste)4. Classe Venda abstract5. Extract Method calcularJuros (roda teste)6. CalcularJuros na VendaAVista, retornar 1 (roda teste)7. CalcularJuros na VendaAPrazo, fazer conta (roda teste)8. CalcularJuros na Venda como abstract (roda teste)9. Tirar a factory (?)Roteiro
  21. 21. (clique para ver o vídeo)
  22. 22. Resumo● Ser responsável de verdade pelo seu código● Você não vai ter tempo/dinheiro para uma refatoração grande● Pequenos passos, passos consistentes● Refatorando continuamente● Saber identificar os smells é o primeiro passo● Conhecer as técnicas de refatoração é essencial
  23. 23. Onde saber mais?Versão estendida dessa palestra:

×