O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?

179 visualizações

Publicada em

Hora da aventura! Vamos melhorar seu código?!?

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?

  1. 1. Hora da aventura! Vamos melhorar seu código?!? @yuizinha
  2. 2. Anna "Yui" Cruz
  3. 3. O que contribui para um código feio?
  4. 4. O que contribui para um código feio?
  5. 5. O que contribui para um código feio?
  6. 6. O que contribui para um código feio?
  7. 7. O que contribui para um código feio?
  8. 8. Tá tudo pronto, só falta testar! O que contribui para um código feio?
  9. 9. Porque o código continua feio?
  10. 10. Porque o código continua feio? ● Desenvolvedores experientes saem do projeto
  11. 11. Porque o código continua feio? ● Desenvolvedores experientes saem do projeto ● Novos desenvolvedores entram no projeto e tem medo de modificar algo
  12. 12. Porque o código continua feio? ● Desenvolvedores experientes saem do projeto ● Novos desenvolvedores entram no projeto e tem medo de modificar algo ● Mito de que demora muito mais tempo
  13. 13. Oh não!?!?! O que podemos fazer então?
  14. 14. Comentários!
  15. 15. Código auto-explicativo Use comentários com calma, pense se são realmente necessários
  16. 16. Use Test Driven Development
  17. 17. TDD Pequenas porções de código
  18. 18. TDD Desenvolva apenas o necessário
  19. 19. TDD Refatoração sem medo
  20. 20. TDD RED GREENREFACTOR
  21. 21. S O L I D ingle Responsibility pen-Closed iskov Substitution nterface Segregation ependency Inversion
  22. 22. Single Responsibility Uma classe/método, uma responsabilidade
  23. 23. Single Responsibility Classes e métodos pequenos e coesos
  24. 24. Single Responsibility Mais fácil de manter
  25. 25. Open-closed Classes abertas para extender
  26. 26. Open-closed Classes fechadas para modificação
  27. 27. Open-closed Diminui o acoplamento entre as classes
  28. 28. Barbara Liskov Cientóloga da computação Professora do MIT Criadora da linguagem CLU Vencedora do Prêmio Turing Diversos artigos acadêmicos
  29. 29. Liskov substituition Uma classe pode ser substituida por uma subclasse
  30. 30. Liskov substituition Manutenção de contrato entre classes
  31. 31. Liskov substituition Diminui o acoplamento, melhora o reaproveitamento
  32. 32. Interface segregation Interfaces especializadas
  33. 33. Interface segregation Interfaces sem conter métodos desnecessários
  34. 34. Interface segregation Gerar interfaces pequenas e coesas
  35. 35. Dependency inversion Abstrações não devem depender de detalhes
  36. 36. Dependency inversion Classes de alto nível não devem depender de classes de baixo nível
  37. 37. Dependency inversion Um problema, uma classe
  38. 38. Dependency inversion Mais flexibilidade para "troca" de dependências
  39. 39. Links http://amzn.to/2dRdlaf http://bit.ly/2dYKQb7 http://amzn.to/2dTFthn
  40. 40. acruz@thoughtworks.com anna.cruz@gmail.com @yuizinha annacruz.github.io

×