[Webinar] Refatoração em PHP
-
Upload
kinghost-hospedagem-de-sites -
Category
Technology
-
view
176 -
download
0
Transcript of [Webinar] Refatoração em PHP
![Page 1: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/1.jpg)
Webinar - RefactoringDaniel Archer - 2016
Acesse o vídeo em:http://www.kinghost.com.br/eventos-online/webinar-refatoracao-em-php
![Page 2: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/2.jpg)
Daniel Archer● Programador PHP na KingHost● Zend Certified Engineer 5.3● Organizador PHPRS● Trabalho com PHP há 6 anos● Palestrante
○ PHP Conference Brasil (SP)○ TDC Porto Alegre○ Faculdade Senac
Webinar Refactoring | 2
![Page 3: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/3.jpg)
ObjetivoEntender o conceito, importância e aplicação de refatoração de sistemas PHP. Utilizaremos ténicas como SOLID e Design Patterns para realizar essa tarefa tão importante.
Webinar Refactoring | 3
Público alvoDesenvolvedores Júniors e Plenos que desejam aperfeiçoar sistemas existentes. Agregando qualidade técnica ao seu código e conhecimento de novas formas de desenvolvimento.
![Page 4: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/4.jpg)
Webinar Refactoring | 4
Conteúdo do Webinar1. O que é Refactoring2. Como tudo começou3. Livros de Apoio4. Quando refatorar5. SOLID6. Design Patterns7. Exemplo Simples8. Refactoring ao Vivo!
![Page 5: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/5.jpg)
1. O que é Refactoring
Webinar Refactoring | 5
Melhorar o código, sem alterar o seu comportamento.
![Page 6: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/6.jpg)
Webinar Refactoring | 6
Melhoria Contínua
LegibilidadeCompreensãoMelhor OrganizaçãoSeparação de ResponsabilidadesFutura ManutençãoOtimização*
![Page 7: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/7.jpg)
Webinar Refactoring | 7
Refactoring changes the programs in small steps. If you make a mistake, it is easy to find a bug.
Kent Beck, American software engineer and the creator of Extreme Programming.
![Page 8: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/8.jpg)
Webinar Refactoring | 8
Como garantir essas mudanças?
![Page 9: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/9.jpg)
Webinar Refactoring | 9
TESTS
TESTS EVERYWHERE
![Page 10: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/10.jpg)
Webinar Refactoring | 10
Não devemos fazer a mesma coisa, todos os dias!
![Page 11: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/11.jpg)
Webinar Refactoring | 11
![Page 12: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/12.jpg)
Webinar Refactoring | 12
Aprendemos a escrever... lendo!
GitHub
![Page 13: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/13.jpg)
2. Como tudo começou
Webinar Refactoring | 13
![Page 14: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/14.jpg)
14
Design Patterns…
![Page 15: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/15.jpg)
15
Design Patterns…
em 77… a idéia de design patterns surgiu em um artigo científico na área de Arquitetura!
![Page 16: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/16.jpg)
16
Design Patterns…
Anos 80, a IBM lançava os primeiros computadores pessoais.
em 87… Kent Beck utilizou essa mesma idéia em programação.
![Page 17: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/17.jpg)
17
Design Patterns…
Anos 90, começa a surgir a UML.
Em 95: GoF (Gang of Four)Design Patterns
Em 99: Martin FowlerRefactoring: Improving the design of existing code
![Page 18: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/18.jpg)
3. Livros de Apoio
Webinar Refactoring | 18
Alguns livros que podem ajudar nos seus estudos...
![Page 19: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/19.jpg)
Webinar Refactoring | 19
![Page 20: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/20.jpg)
4. Quando Refatorar
Webinar Refactoring | 20
Procure por Bad Smells...
![Page 21: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/21.jpg)
Webinar Refactoring | 21
Perguntas...● Meu código antigo funciona, mas será que funciona bem?
![Page 22: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/22.jpg)
Webinar Refactoring | 22
Perguntas...● Meu código antigo funciona, mas será que funciona bem?● Posso reutilizar o meu código em um novo projeto?
![Page 23: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/23.jpg)
Webinar Refactoring | 23
Perguntas...● Meu código antigo funciona, mas será que funciona bem?● Posso reutilizar o meu código em um novo projeto? ● Outra pessoa consegue ler e entender o meu script?
![Page 24: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/24.jpg)
5. S.O.L.I.D
Webinar Refactoring | 24
![Page 25: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/25.jpg)
5. S.O.L.I.D
Webinar Refactoring | 25
Single Responsability
![Page 26: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/26.jpg)
5. S.O.L.I.D
Webinar Refactoring | 26
Single ResponsabilityOpen \ Close Principle
![Page 27: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/27.jpg)
5. S.O.L.I.D
Webinar Refactoring | 27
Single ResponsabilityOpen \ Close PrincipleLiskov Substitution
![Page 28: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/28.jpg)
5. S.O.L.I.D
Webinar Refactoring | 28
Single ResponsabilityOpen \ Close PrincipleLiskov SubstitutionInterface Segregation
![Page 29: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/29.jpg)
5. S.O.L.I.D
Webinar Refactoring | 29
Single ResponsabilityOpen \ Close PrincipleLiskov SubstitutionInterface SegregationDependency Inversion
![Page 30: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/30.jpg)
6. Design Patterns
Webinar Refactoring | 30
São resoluções prontas para problemas conhecidos.
![Page 31: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/31.jpg)
Webinar Refactoring | 31
Patterns não são regras!Devem ser utilizados como guia e não como lei.
![Page 32: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/32.jpg)
Exemplos de D.P. em PHPhttps://github.com/domnikl/DesignPatternsPHP
32Webinar Refactoring |
![Page 33: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/33.jpg)
Procurem!
Object Calisthenics & Clean Code
Webinar Refactoring | 33
![Page 34: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/34.jpg)
Webinar Refactoring | 34
7. Exemplo de refactoring simplesUtilizando inversão de dependência
![Page 35: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/35.jpg)
35
![Page 36: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/36.jpg)
36
![Page 37: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/37.jpg)
37
![Page 38: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/38.jpg)
38
Copy & Paste Detectorhttps://github.com/sebastianbergmann/phpcpd
![Page 39: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/39.jpg)
8. Refactoring ao Vivo!
Webinar Refactoring | 39
Mão na massa!
![Page 41: [Webinar] Refatoração em PHP](https://reader033.fdocument.pub/reader033/viewer/2022051520/587a942e1a28ab09758b4625/html5/thumbnails/41.jpg)
Estamos contratando!
Webinar Refactoring | 41
Programador PHP Sênior!Equipe de Desenvolvimento [email protected]://www.kinghost.com.br/talentos-oportunidades?jobid=2780069