Refatorar é preciso! 2.0

310 visualizações

Publicada em

Essa palestra aborda a necessidade e os desafios na hora de refatorar uma aplicação em PHP, vemos um pouco dos conhecimentos necessários para iniciar esse processo e como devemos arquitetar cada etapa do desenvolvimento. Cada aplicação possui uma realidade diferente por isso será passado um de forma breve os conceitos de SOLID, Design Petterns e Object Calisthenic para poder aplica-los na arquitetura de cada projeto. Além de exemplos de refatoração em pontos específicos da aplicação.

Publicada em: Software
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Refatorar é preciso! 2.0

  1. 1. Refatorar é Preciso! Uma visão Técnica e Filosófica Daniel Archer PHP Conference 2015 - SP
  2. 2. Eu sou eu Não sou vocês...
  3. 3. Eu sou eu Daniel Archer ● Programador PHP at KingHost ● Zend Certified PHP ● Palestrante ● Grupo de Usuários PHPRS ● Astrônomo Amador ● Estudo PHP há 3 anos
  4. 4. Trabalhar !== Estudar
  5. 5. Você escreve bem?
  6. 6. Aprendemos a escrever, lendo...
  7. 7. Mudança === Evolução Prevalece o mais adaptado
  8. 8. Parar no tempo === Extinção
  9. 9. Antes do refactoring...
  10. 10. 77
  11. 11. 87
  12. 12. Agora vai!
  13. 13. ...onde Estamos ● 1972 - C ● 1983 - C++ ● 1987 - Pearl ● 1991 - Java ● 1991 - Python ● 1995 - PHP ● 2000 - C# ● 2004 - PHP5
  14. 14. Ok… chega de teoria
  15. 15. Refactoring Código antigo funciona, mas será que funciona bem?
  16. 16. Refactoring Código antigo funciona, mas será que funciona bem? Posso reutilizar o meu código neste novo projeto?
  17. 17. Refactoring Código antigo funciona, mas será que funciona bem? Posso reutilizar o meu código neste novo projeto? Outra pessoa consegue ler e entender o meu script?
  18. 18. O que eu posso usar?
  19. 19. O que eu posso usar? A melhor ferramenta do mercado…
  20. 20. Bom senso! O que eu posso usar?
  21. 21. Obrigado! O que eu posso usar? … ok vamos continuar.
  22. 22. S.O.L.I.D
  23. 23. S.O.L.I.D Single Responsability
  24. 24. S.O.L.I.D Open/Close Principle Open for extensions, close for modification.
  25. 25. S.O.L.I.D Liskov Substitution
  26. 26. S.O.L.I.D Interface Segregation
  27. 27. S.O.L.I.D Dependency Invertion
  28. 28. ...tem mais
  29. 29. Object Calisthenics ...sim, enorme desse jeito.
  30. 30. PHP-FIG PSRs para uma vida melhor… standards
  31. 31. Exemplos ...muitos exemplos!
  32. 32. “Refactoring changes the programs in small steps. If you make a mistake, it is easy to find the bug.” - Kent Beck
  33. 33. [exemplo 1 - Primeiros passos]
  34. 34. Refactoring de Código Estruturado
  35. 35. https://github.com/sebastianbergmann/phpcpd Copy / Paste Detector
  36. 36. Refactoring de Arquitetura
  37. 37. Refactoring de Objetos
  38. 38. https://github.com/domnikl/DesignPatternsPHP Exemplos de Design Patterns em PHP
  39. 39. Factory
  40. 40. Strategy
  41. 41. Observer
  42. 42. O que aprendemos até aqui?
  43. 43. Siga Padrões
  44. 44. Não tenha medo de reorganizar ● Define um padrão com a sua equipe ● Siga esses padrões ● Altere o padrão se ele não se adaptar ao seu time
  45. 45. Quanto menor, Melhor! ● Sempre diminua o acoplamento ● Defina responsabilidades ● Nomes longos é um possível excesso de responsabilidade
  46. 46. Eu sou eu Não sou vocês… Eu não programo como vocês. Por isso seguimos padrões.
  47. 47. Obrigado! [palmas]
  48. 48. Contato - Daniel Archer SlideShare slideshare.net/danielmarquescramer Facebook facebook.com/danielmarquescramer PHPRS php-rs.org PHPRS - Facebook facebook.com/groups/rselephants

×