Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Refatoração

853 views

Published on

Apresentação feita no ACCMM TechDay

  • Be the first to comment

Refatoração

  1. 1. RefatoraçãoDavi Marques William “Kina”
  2. 2. O que é?
  3. 3. O que é?• Processo de alteração de um sistema de software de modo que o comportamento externo não mude, mas que sua estrutura interna seja melhorada.
  4. 4. Refatoração• Então....
  5. 5. Refatoração• Então....
  6. 6. Refatoração• Espere! Não é bem assim. Tem um detalhe...
  7. 7. Refatoração• Espere! Não é bem assim. Tem um detalhe...• O sistema deve estar funcionando antes de refatorar!
  8. 8. Refatoração• Espere! Não é bem assim. Tem um detalhe...• O sistema deve estar funcionando antes de refatorar!• Evite refatorar o código perto do prazo final.
  9. 9. Refatoração• Espere! Não é bem assim. Tem um detalhe...• O sistema deve estar funcionando antes de refatorar!• Evite refatorar o código perto do prazo final.• Se tiver tudo cagado, as vezes é melhor fazer um novo sistema ;)
  10. 10. Refatoração• Como garantir que continua funcionando?
  11. 11. Refatoração• Como garantir que continua funcionando?
  12. 12. Refatoração• Mas testes automatizados não são custosos?!
  13. 13. Refatoração• Mas testes automatizados não são custosos?!
  14. 14. RefatoraçãoRefatoração X Testes Automatizados
  15. 15. RefatoraçãoRefatoração X Testes Automatizados
  16. 16. Refatoração• Quais os passos para refatorar?
  17. 17. Refatoração• Quais os passos para refatorar?• Procure os “bad smells” (maus cheiros)
  18. 18. Refatoração• Como eu encontro um bad smell?
  19. 19. Refatoração• Como eu encontro um bad smell?• Não existe uma formula que diz que parte do código é um bad smell.
  20. 20. Refatoração• Como eu encontro um bad smell?• Não existe uma formula que diz que parte do código é um bad smell.
  21. 21. Refatoração• Resumindo...
  22. 22. Refatoração• Resumindo...
  23. 23. Exemplos de Bad Smells• Duplicated Code (Código Duplicado)• Long Method (Método Longo)• Large Class (Classe Grande)• Comments (Comentários)• Long Parameter List (Lista de Parâmetros Longa)
  24. 24. Catalogo de Refatorações
  25. 25. Catalogo de Refatoraçõeshttp://www.refactoring.com
  26. 26. Formato do Catalogo• Nome da refatoração.• Resumo da situação na qual ela é necessária e o que ela faz.• Motivação para usá-la (e quando não usá-la).• Mecânica. descrição passo a passo.• Exemplos para ilustrar o uso.
  27. 27. Exemplos Refatorações• Extract Method (Extrair Método)• Pull Up Method (Subir Método na Hierarquia )• Substitute Algorithm (Substituir Algoritimo)• Replace Magic• Rename Method (Renomear Método)• Decompose Conditional (Decompor Condicional)
  28. 28. Extract Method
  29. 29. Extract Method
  30. 30. Exemplos Refatorações• Extract Method (Extrair Método)• Pull Up Method (Subir Método na Hierarquia )• Substitute Algorithm (Substituir Algoritimo)• Replace Magic Number• Rename Method (Renomear Método)• Decompose Conditional (Decompor Condicional)
  31. 31. Pull Up Method
  32. 32. Exemplos Refatorações• Extract Method (Extrair Método)• Pull Up Method (Subir Método na Hierarquia )• Substitute Algorithm (Substituir Algoritimo)• Replace Magic Number• Rename Method (Renomear Método)• Decompose Conditional (Decompor Condicional)
  33. 33. Substitute Algorithm
  34. 34. Exemplos Refatorações• Extract Method (Extrair Método)• Pull Up Method (Subir Método na Hierarquia )• Substitute Algorithm (Substituir Algoritimo)• Replace Magic Number• Rename Method (Renomear Método)• Decompose Conditional (Decompor Condicional)
  35. 35. Resumo
  36. 36. Resumo• Um software é quase como um jardim.
  37. 37. Resumo• Um software é quase como um jardim.
  38. 38. Resumo• Um software é quase como um jardim.
  39. 39. Resumo• Um software é quase como um jardim.
  40. 40. Resumo• Um software é quase como um jardim.
  41. 41. Resumo• Usar catalogo sistematicamente.• Refatorar auxilia a manter o código legível e modificável.• Um código legível e modificavel é mais fácil de ser mantido.
  42. 42. Lembrete• Refatoração != refazer• Refatoração != corrigir• Refatoração != performance
  43. 43. Perguntas?

×