[webinar] refatoração em php

Post on 15-Jan-2017

174 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Webinar - RefactoringDaniel Archer - 2016

Acesse o vídeo em:http://www.kinghost.com.br/eventos-online/webinar-refatoracao-em-php

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

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.

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!

1. O que é Refactoring

Webinar Refactoring | 5

Melhorar o código, sem alterar o seu comportamento.

Webinar Refactoring | 6

Melhoria Contínua

LegibilidadeCompreensãoMelhor OrganizaçãoSeparação de ResponsabilidadesFutura ManutençãoOtimização*

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.

Webinar Refactoring | 8

Como garantir essas mudanças?

Webinar Refactoring | 9

TESTS

TESTS EVERYWHERE

Webinar Refactoring | 10

Não devemos fazer a mesma coisa, todos os dias!

Webinar Refactoring | 11

Webinar Refactoring | 12

Aprendemos a escrever... lendo!

GitHub

2. Como tudo começou

Webinar Refactoring | 13

14

Design Patterns…

15

Design Patterns…

em 77… a idéia de design patterns surgiu em um artigo científico na área de Arquitetura!

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.

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

3. Livros de Apoio

Webinar Refactoring | 18

Alguns livros que podem ajudar nos seus estudos...

Webinar Refactoring | 19

4. Quando Refatorar

Webinar Refactoring | 20

Procure por Bad Smells...

Webinar Refactoring | 21

Perguntas...● Meu código antigo funciona, mas será que funciona bem?

Webinar Refactoring | 22

Perguntas...● Meu código antigo funciona, mas será que funciona bem?● Posso reutilizar o meu código em um novo projeto?

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?

5. S.O.L.I.D

Webinar Refactoring | 24

5. S.O.L.I.D

Webinar Refactoring | 25

Single Responsability

5. S.O.L.I.D

Webinar Refactoring | 26

Single ResponsabilityOpen \ Close Principle

5. S.O.L.I.D

Webinar Refactoring | 27

Single ResponsabilityOpen \ Close PrincipleLiskov Substitution

5. S.O.L.I.D

Webinar Refactoring | 28

Single ResponsabilityOpen \ Close PrincipleLiskov SubstitutionInterface Segregation

5. S.O.L.I.D

Webinar Refactoring | 29

Single ResponsabilityOpen \ Close PrincipleLiskov SubstitutionInterface SegregationDependency Inversion

6. Design Patterns

Webinar Refactoring | 30

São resoluções prontas para problemas conhecidos.

Webinar Refactoring | 31

Patterns não são regras!Devem ser utilizados como guia e não como lei.

Exemplos de D.P. em PHPhttps://github.com/domnikl/DesignPatternsPHP

32Webinar Refactoring |

Procurem!

Object Calisthenics & Clean Code

Webinar Refactoring | 33

Webinar Refactoring | 34

7. Exemplo de refactoring simplesUtilizando inversão de dependência

35

36

37

38

Copy & Paste Detectorhttps://github.com/sebastianbergmann/phpcpd

8. Refactoring ao Vivo!

Webinar Refactoring | 39

Mão na massa!

Obrigado!

Dúvidas e sugestões

Daniel Archer – daniel.archer@kinghost.com.br

Estamos contratando!

Webinar Refactoring | 41

Programador PHP Sênior!Equipe de Desenvolvimento KingHosttalentos@kinghost.com.brDetalheshttp://www.kinghost.com.br/talentos-oportunidades?jobid=2780069

top related