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

TemDendê: Desenvolvimento PHP a Moda Baiana

TemDendê: Desenvolvimento PHP a Moda Baiana

Jonata Weber

October 07, 2017
Tweet

More Decks by Jonata Weber

Other Decks in Programming

Transcript

  1. TemDenDê
    Desenvolvimento PHP
    a moda baiana

    View Slide

  2. @JonataWeber

    View Slide

  3. eXtreme Programming (XP)

    View Slide

  4. XP: Princípios
    ● Feedback rápido
    ● Presumir simplicidade
    ● Mudanças incrementais
    ● Abraçar mudanças
    ● Trabalho de alta qualidade

    View Slide

  5. XP: Práticas
    ● Jogo de Planejamento
    ● Pequenas entregas
    ● Metáfora
    ● Design Simples
    ● Testes de Aceitação
    ● Semana de 40 horas
    ● Propriedade Coletiva
    ● Pair Programming
    ● Padronização de código
    ● Test Driven Development (TDD)
    ● Refatoração
    ● Integração Contínua

    View Slide

  6. XP: Práticas
    ● Jogo de Planejamento
    ● Pequenas entregas
    ● Metáfora
    ● Design Simples
    ● Testes de Aceitação
    ● Semana de 40 horas
    ● Propriedade Coletiva
    ● Pair Programming
    ● Padronização de código
    ● Test Driven Development (TDD)
    ● Refatoração
    ● Integração Contínua

    View Slide

  7. Test Driven Development (TDD)

    View Slide

  8. Escreva um
    teste que
    falhe
    Refatore para
    melhorar o
    teste
    Faça a
    pequena
    mudança
    passar o teste
    Execute todos os
    testes e veja um falhar
    Execute todos os testes e veja todos passarem
    Execute todos os testes e
    veja todos passarem

    View Slide

  9. View Slide

  10. Benefícios
    ● Mais feedbacks durante o desenvolvimento
    ● Maior produtividade
    ● Redução de 40–80% dos bugs em produção
    ● Menor custo de manutenção
    ● Legibilidade do código
    ● Design guiado pelos testes
    ● Documentação "viva"

    View Slide

  11. O código seria algo mais ou menos assim...

    View Slide

  12. Valor Esperado
    Valor Obtido
    O código seria algo mais ou menos assim...

    View Slide

  13. Live coding

    View Slide

  14. Onde aprender mais
    sobre TDD

    View Slide

  15. Recomendações

    View Slide

  16. TL;DR
    ● TDD não elimina, mas reduz a quantidade de bugs

    View Slide

  17. Obrigado!
    @JonataWeber
    @WeberSchool.com.br

    View Slide

  18. Referências
    https://medium.com/desenvolvimento-%C3%A1gil/a-nova-metodologia-69b8f8a379c7
    http://www.thedevelopersconference.com.br/arquivos/tdc/2012/TDD20coisas.pd
    http://stackoverflow.com/questions/211557/what-is-a-metaphor-in-the-context-o-xp
    https://www.google.com/about/careers/students/guide-to-technical-developmenthtml
    https://br.udacity.com/course/software-testing--cs258/
    http://andrewhuggins.com/post/testing-and-tdd-talk-with-live-coding-examples
    http://ahuggins.github.io/presentation-tdd/
    http://henriquebastos.net/a-forma-como-voce-programa-faz-toda-a-diferenca/
    https://pt.wikipedia.org/wiki/Test_Driven_Development
    http://www.wedotdd.com/
    https://medium.com/javascript-scene/5-common-misconceptions-about-tdd-unit-tests-863d5beb3ce9
    https://www.codementor.io/blog/software-projects-failure-rate-success-factors-1nqch57orj
    http://www.mckinsey.com/business-functions/digital-mckinsey/our-insights/delivering-large-scale-it-projects-on-time-on-budget-and-on-value

    View Slide