Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desmistificando a Refatoração - TDC Innovation 2021

Desmistificando a Refatoração - TDC Innovation 2021

Palestra online apresentada no evento TDC Innovation 2021, na sala do Grupo Boticário. Com o tema Desmistificando a Refatoração, o objetivo da palestra foi mostrar um pouco sobre refatoração, a importância desse tema e trazer dicas práticas sobre refatoração.

Palestra apresentada em conjunto com o Antonio Almeida (Squad Leader) e Roger Albino - Front-end Developer.

Roger Albino

March 25, 2021
Tweet

More Decks by Roger Albino

Other Decks in Programming

Transcript

  1. Desmistificando a Refatoração

  2. ü Antonio Almeida ü Roger Albino QUEM SOMOS NÓS?

  3. ü Conhecendo o Grupo Boticário ü Introdução à refatoração ü

    Quando eu devo refatorar? ü Principais técnicas ü Conclusão AGENDA
  4. Conhecendo o Grupo Boticário

  5. Orgulho É A P A L A V R A

    Q U E D E F I N E N O S S O S E N T I M E N T O . ( M A S P O R Q U Ê ? ) Q U A N D O F A L A M O S D E T R A B A L H A R N O G R U P O B O T I C Á R I O ,
  6. _ O GR U P O BOTICÁ R IO 10

    ENTRE OS MAIORES VAREJISTAS DO BRASIL PONTOS DE VENDA MULTIMARCA 35 mil PRESENTES EM cidades em todo o Brasil e em mais de 15 países 99.9% ELEITO EM 2019 maior franquia em nº lojas 2 FÁ B RI C A S 5 C D ´S 5 ES C RI TÓRI OS S. J. dos Pinhais - PR Camaçari - BA Registro - SP Jaguaré - SP Serra - ES S. Gonçalo dos Campos - BA Varginha - MG Curitiba São Paulo Portugal Colômbia China SOMOS O maior e-commerce de beleza do Brasil
  7. somos 12.000 _ O GR U P O BOTICÁ R

    IO M U I T A G E N T E C R E S C E U J U N T O C O M A G E N T E . E N Ã O V A M O S P A R A R P O R A Q U I . 1 9 7 7 2 0 1 1 2 0 1 2 2 0 1 2 2 0 1 7 2 0 1 8 2 0 1 9 2 0 1 6 1 9 9 0 2 0 0 4
  8. P O R Q U E T E M O

    S O R G U L H O D E T R A B A L H A R N O G R U P O B O T I C Á R I O ? P O R Q U E V A L E A P E N A ?
  9. _ O EV P #MOVIDOSPELOPROPÓSITO #MOVIDOSPELONOVO #MOVIDOSPORGENTE #MOVIDOSPELAPOTENCIA #MOVIDOSPELAEVOLUÇÃO O

    QUE O MERCADO ESPERA O QUE A EMPRESA ENTREGA Chegamos em grandes temas onde temos legitimidade para navegar e (muitas!) razões para acreditar
  10. /grupoboticario grupo-boticário grupoboticario.com.br

  11. Introdução à Refatoração

  12. REFATORAÇÃO ü Martin Fowler e Kent Beck ü Livros publicados

    em 1999 e 2018
  13. ü Quando estamos alterando um código para melhorar sua estrutura

    sem mudarmos o comportamento do código. ü Não é sobre melhorar o desempenho de um algoritmo e sim sobre otimizar a leitura do código. O QUE É REFATORAÇÃO?
  14. SUBSTANTIVO VERBO Uma mudança feita na estrutura interna do software

    para torná-lo simples e fácil de entender e mais barato para modificar. Sem alterar o comportamento observável do software. Uma mudança estrutural no software através da aplicação de uma série de refatorações, sem alterar o comportamento observável do software. Maneiras de falar sobre a Refatoração
  15. “Qualquer tolo consegue escrever código que um computador entenda. Bons

    programadores escrevem código que humanos possam entender.” Martin Fowler _O DESAFIO
  16. Quando eu devo Refatorar?

  17. ü Você deve refatorar quando vê um código feio. Mas

    um código excelente também precisa de muitas refatorações. ü Sempre que adicionar uma funcionalidade ou correção parecer levar mais tempo do que deveria. Dica: para cada nova funcionalidade ou correção: - Faça com que a alteração seja mais simples de ser adicionada. - Faça essa alteração mais simples. QUANDO EU DEVO REFATORAR?
  18. ü Code-review é um bom momento para pensar em refatorações.

    Dica: Teste, Teste e Teste novamente! Os testes automatizados vão dar mais segurança na hora da refatoração. QUANDO EU DEVO REFATORAR?
  19. ü Se o código não vai receber nenhuma funcionalidade nova

    ou correção. ü Se a alteração for tão simples, que refatorar levaria mais tempo. ü As vezes, pode levar mais tempo refatorar do que fazer do zero. E QUANDO NÃO REFATORAR?
  20. ü Nome misterioso; ü Código duplicado e Código morto; ü

    Classes, funções ou métodos muito longos; ü Lista longa de parâmetros; ü Obsessão por primitivos; ü Agrupamento de dados. Code smells
  21. ü Geralmente está mascarando um mal cheiro, como um desodorante

    mesmo! ü São usados quando algo no código não está tão claro. ü Comentários mentem! Comentários
  22. Principais Técnicas

  23. Nome misterioso

  24. Nome misterioso Rename Function (Renomear Função)

  25. Lista longa de parâmetros

  26. Lista longa de parâmetros Preserve Whole Object (Preservar Objeto Inteiro)

  27. Classe longa

  28. Classe longa Extract Class (Extrair Classe)

  29. Função longa

  30. Função longa Extract Function (Extrair Função)

  31. Código morto IDEs e Linters podem ajudar

  32. Agrupamento de dados

  33. Agrupamento de dados Extract Class (Extrair Classe)

  34. Código duplicado

  35. Código duplicado Extract Function (Extrair Função)

  36. Obsessão por primitivos

  37. Extract Class (Extrair Classe) Obsessão por primitivos

  38. Conclusão

  39. ü Única certeza que temos é que o nosso software

    vai mudar. ü Escrevemos código para pessoas e não para máquinas. ü Com o hábito de refatorar, ganhamos agilidade para adicionar novas funcionalidades ou correções de bugs. ü Testes unitários nos dão mais segurança na hora de refatorar. Conclusão
  40. ü Refactoring (Refatoração); ü Clean Code (Código limpo); ü Clean

    Architecture (Arquitetura limpa); ü Design Patterns (Padrões de projeto). Para aprender mais
  41. Obrigado!