0
Coding Dojo e TDD

   Alex Tercete Matos

   11 de setembro de 2009
Antes de começar. . .




Grupo de Gestão do Conhecimento              Coding Dojo e Test-driven Development – 2 / 26
Quem sou eu?

       • CEFET/RJ
              − 9o período, Engenharia de Controle e Automação

       • Chemtech
        ...
Quem sou eu?

       • CEFET/RJ
              − 9o período, Engenharia de Controle e Automação

       • Chemtech
        ...
Quem sou eu?

       • CEFET/RJ
              − 9o período, Engenharia de Controle e Automação

       • Chemtech
        ...
Coding Dojo
                   (baseado nos slides de Danilo Sato e Rodolfo Carvalho)




Grupo de Gestão do Conhecimento ...
Motivação



                                  Programadores não
                                       treinam!




Grupo...
Motivação



                                     Programadores não
                                          treinam!



...
Origens

       • Kata → Coding Dojo
       • Definição:                ( ØØÔ »»
Ó   Ò Ó ÓºÓÖ )

                  Reunião ...
Princípios


       • Aprendizado contínuo

       • Ambiente seguro
              − Não-competitivo

              − Cola...
Princípios


       • Aprendizado contínuo

       • Ambiente seguro
              − Não-competitivo

              − Cola...
Princípios


       • Aprendizado contínuo

       • Ambiente seguro
              − Não-competitivo

              − Cola...
Princípios


       • Aprendizado contínuo

       • Ambiente seguro
              − Não-competitivo

              − Cola...
Regras gerais




Grupo de Gestão do Conhecimento   Coding Dojo e Test-driven Development – 8 / 26
Regras gerais




       • Computador + Projetor




Grupo de Gestão do Conhecimento   Coding Dojo e Test-driven Developme...
Regras gerais




       • Computador + Projetor
       • Par + Platéia




Grupo de Gestão do Conhecimento   Coding Dojo ...
Regras gerais




       • Computador + Projetor
       • Par + Platéia
       • TDD (vermelho → verde → refatoração)




...
Regras gerais




       • Computador + Projetor
       • Par + Platéia
       • TDD (vermelho → verde → refatoração)
    ...
Regras gerais




       • Computador + Projetor
       • Par + Platéia
       • TDD (vermelho → verde → refatoração)
    ...
O formato Randori

       • Programação em pares




Grupo de Gestão do Conhecimento   Coding Dojo e Test-driven Developme...
O formato Randori

       • Programação em pares
       • Turnos time-boxed (5 a 7 minutos)




Grupo de Gestão do Conheci...
O formato Randori

       • Programação em pares
       • Turnos time-boxed (5 a 7 minutos)
       • Rodízio: após cada tu...
O formato Randori

       • Programação em pares
       • Turnos time-boxed (5 a 7 minutos)
       • Rodízio: após cada tu...
O formato Randori

       • Programação em pares
       • Turnos time-boxed (5 a 7 minutos)
       • Rodízio: após cada tu...
Retrospectiva

       • Ao final de cada sessão
              − O que aprendemos?
              − O que gostamos?
         ...
Objetivo

       • Praticar
       • Ensinar
       • Aprender
       • Discutir com bases sobre codigo!




Grupo de Gest...
O que não faremos


       • Correr para terminar o problema

       • Resolver problemas “reais”

       • Entrar em flame...
O que não faremos


       • Correr para terminar o problema

       • Resolver problemas “reais”

       • Entrar em flame...
O que não faremos


       • Correr para terminar o problema

       • Resolver problemas “reais”

       • Entrar em flame...
O que não faremos


       • Correr para terminar o problema

       • Resolver problemas “reais”

       • Entrar em flame...
O que não faremos


       • Correr para terminar o problema

       • Resolver problemas “reais”

       • Entrar em flame...
Podemos. . .


       • Experimentar novas idéias

       • Nos divertir

       • Começar!

              − Coding Dojo C...
Podemos. . .


       • Experimentar novas idéias

       • Nos divertir

       • Começar!

              − Coding Dojo C...
Podemos. . .


       • Experimentar novas idéias

       • Nos divertir

       • Começar!

              − Coding Dojo C...
Test-driven Development
                             (TDD)




Grupo de Gestão do Conhecimento      Coding Dojo e Test-dri...
Testes unitários e o framework                    ÜÍÒ Ø




       • Método de verificação e validação do funcionamento de
...
Testes unitários e o framework                    ÜÍÒ Ø




       • Método de verificação e validação do funcionamento de
...
Testes unitários e o framework                    ÜÍÒ Ø




       • Método de verificação e validação do funcionamento de
...
O que é TDD?


       • Técnica de desenvolvimento que estimula o uso
         constante de testes unitários e refatoração...
O que é TDD?


       • Técnica de desenvolvimento que estimula o uso
         constante de testes unitários e refatoração...
O que é TDD?


       • Técnica de desenvolvimento que estimula o uso
         constante de testes unitários e refatoração...
O que é TDD?


       • Técnica de desenvolvimento que estimula o uso
         constante de testes unitários e refatoração...
Por que desenvolver guiado por testes?

       • Feedback instantâneo sobre falhas de software
              − Falhas desc...
Por que desenvolver guiado por testes?

       • Feedback instantâneo sobre falhas de software
              − Falhas desc...
Por que desenvolver guiado por testes?

       • Feedback instantâneo sobre falhas de software
              − Falhas desc...
Por que desenvolver guiado por testes?

       • Feedback instantâneo sobre falhas de software
              − Falhas desc...
Por que desenvolver guiado por testes?

       • Feedback instantâneo sobre falhas de software
              − Falhas desc...
O ciclo do desenvolvimento guiado por testes
                                                     Repita


          (Re)E...
TDD na sua linguagem

       •    Â Ú       →       ÍÒ Ø


       •    ºÆ     Ì    →         ÒÍÒ Ø


       •    ÈÝØ ÓÒ   ...
TDD na prática!




Grupo de Gestão do Conhecimento               Coding Dojo e Test-driven Development – 20 / 26
ÈÝØ ÓÒ




       • Sintaxe elegante, simples e clara
       • Multiparadigma (OO, procedural, funcional)
       • Interpr...
ÈÝØ ÓÒ




       • Sintaxe elegante, simples e clara
       • Multiparadigma (OO, procedural, funcional)
       • Interpr...
ÈÝØ ÓÒ




       • Sintaxe elegante, simples e clara
       • Multiparadigma (OO, procedural, funcional)
       • Interpr...
ÈÝØ ÓÒ




       • Sintaxe elegante, simples e clara
       • Multiparadigma (OO, procedural, funcional)
       • Interpr...
ÈÝØ ÓÒ




       • Sintaxe elegante, simples e clara
       • Multiparadigma (OO, procedural, funcional)
       • Interpr...
ÈÝØ ÓÒ




       • Sintaxe elegante, simples e clara
       • Multiparadigma (OO, procedural, funcional)
       • Interpr...
O problema

       • Obter a lista de números primos até um determinado
         valor (ex.: 10 → 2, 3, 5, 7)
       • Cri...
O problema

       • Obter a lista de números primos até um determinado
         valor (ex.: 10 → 2, 3, 5, 7)
       • Cri...
O problema

       • Obter a lista de números primos até um determinado
         valor (ex.: 10 → 2, 3, 5, 7)
       • Cri...
O problema

       • Obter a lista de números primos até um determinado
         valor (ex.: 10 → 2, 3, 5, 7)
       • Cri...
O problema

       • Obter a lista de números primos até um determinado
         valor (ex.: 10 → 2, 3, 5, 7)
       • Cri...
Considerações finais




Grupo de Gestão do Conhecimento            Coding Dojo e Test-driven Development – 23 / 26
E agora?

       • Seres humanos não gostam de mudanças
              − Mudanças devem ser gradativas

       • Coding Doj...
E agora?

       • Seres humanos não gostam de mudanças
              − Mudanças devem ser gradativas

       • Coding Doj...
E agora?

       • Seres humanos não gostam de mudanças
              − Mudanças devem ser gradativas

       • Coding Doj...
Referências


       • ØØÔ »»
Ó                 Ò Ó ÓºÓÖ »

       • ØØÔ »» Ó ÓÖ ÓºÓÖ », ØØÔ »» Ó Ó×ÔºÓÖ »

       • Test-...
Obrigado pela presença!




Grupo de Gestão do Conhecimento     Coding Dojo e Test-driven Development – 26 / 26
Upcoming SlideShare
Loading in...5
×

Coding Dojo e TDD

2,448

Published on

Telas utilizadas na apresentação sobre Coding Dojo e TDD, na Chemtech.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,448
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
84
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Coding Dojo e TDD"

  1. 1. Coding Dojo e TDD Alex Tercete Matos 11 de setembro de 2009
  2. 2. Antes de começar. . . Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 2 / 26
  3. 3. Quem sou eu? • CEFET/RJ − 9o período, Engenharia de Controle e Automação • Chemtech − 11 meses, Projeto Planta Piloto de Biorreator • Interesses − Software Livre, ÆÍ»Ä ÒÙÜ , ÈÝØ ÓÒ − Scrum, Extreme Programming (XP), Test-driven Development (TDD) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 3 / 26
  4. 4. Quem sou eu? • CEFET/RJ − 9o período, Engenharia de Controle e Automação • Chemtech − 11 meses, Projeto Planta Piloto de Biorreator • Interesses − Software Livre, ÆÍ»Ä ÒÙÜ, ÈÝØ ÓÒ − Scrum, Extreme Programming (XP), Test-driven Development (TDD) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 3 / 26
  5. 5. Quem sou eu? • CEFET/RJ − 9o período, Engenharia de Controle e Automação • Chemtech − 11 meses, Projeto Planta Piloto de Biorreator • Interesses − Software Livre, ÆÍ»Ä ÒÙÜ, ÈÝØ ÓÒ − Scrum, Extreme Programming (XP), Test-driven Development (TDD) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 3 / 26
  6. 6. Coding Dojo (baseado nos slides de Danilo Sato e Rodolfo Carvalho) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 4 / 26
  7. 7. Motivação Programadores não treinam! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 5 / 26
  8. 8. Motivação Programadores não treinam! Por que? Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 5 / 26
  9. 9. Origens • Kata → Coding Dojo • Definição: ( ØØÔ »» Ó Ò Ó ÓºÓÖ ) Reunião na qual um grupo de pessoas se junta para trabalhar em um desafio de programação. Eles estão lá para se divertir e, engajados no uso de boas práticas, melhorar suas habilidades. Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 6 / 26
  10. 10. Princípios • Aprendizado contínuo • Ambiente seguro − Não-competitivo − Colaborativo − Inclusivo • Falha e redundância • Passos de bebê Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 7 / 26
  11. 11. Princípios • Aprendizado contínuo • Ambiente seguro − Não-competitivo − Colaborativo − Inclusivo • Falha e redundância • Passos de bebê Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 7 / 26
  12. 12. Princípios • Aprendizado contínuo • Ambiente seguro − Não-competitivo − Colaborativo − Inclusivo • Falha e redundância • Passos de bebê Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 7 / 26
  13. 13. Princípios • Aprendizado contínuo • Ambiente seguro − Não-competitivo − Colaborativo − Inclusivo • Falha e redundância • Passos de bebê Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 7 / 26
  14. 14. Regras gerais Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 8 / 26
  15. 15. Regras gerais • Computador + Projetor Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 8 / 26
  16. 16. Regras gerais • Computador + Projetor • Par + Platéia Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 8 / 26
  17. 17. Regras gerais • Computador + Projetor • Par + Platéia • TDD (vermelho → verde → refatoração) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 8 / 26
  18. 18. Regras gerais • Computador + Projetor • Par + Platéia • TDD (vermelho → verde → refatoração) • Todos devem entender Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 8 / 26
  19. 19. Regras gerais • Computador + Projetor • Par + Platéia • TDD (vermelho → verde → refatoração) • Todos devem entender • Sempre começa do zero Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 8 / 26
  20. 20. O formato Randori • Programação em pares Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 9 / 26
  21. 21. O formato Randori • Programação em pares • Turnos time-boxed (5 a 7 minutos) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 9 / 26
  22. 22. O formato Randori • Programação em pares • Turnos time-boxed (5 a 7 minutos) • Rodízio: após cada turno. . . − O co-piloto vira piloto − O piloto volta pra platéia − Um novo co-piloto é convidado da platéia Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 9 / 26
  23. 23. O formato Randori • Programação em pares • Turnos time-boxed (5 a 7 minutos) • Rodízio: após cada turno. . . − O co-piloto vira piloto − O piloto volta pra platéia − Um novo co-piloto é convidado da platéia • Comentários e críticas somente no verde Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 9 / 26
  24. 24. O formato Randori • Programação em pares • Turnos time-boxed (5 a 7 minutos) • Rodízio: após cada turno. . . − O co-piloto vira piloto − O piloto volta pra platéia − Um novo co-piloto é convidado da platéia • Comentários e críticas somente no verde • Silêncio no vermelho Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 9 / 26
  25. 25. Retrospectiva • Ao final de cada sessão − O que aprendemos? − O que gostamos? − O que pode melhorar? − Comentários Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 10 / 26
  26. 26. Objetivo • Praticar • Ensinar • Aprender • Discutir com bases sobre codigo! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 11 / 26
  27. 27. O que não faremos • Correr para terminar o problema • Resolver problemas “reais” • Entrar em flame wars nas discussões • Competir com os outros participantes • Deixar pessoas sem entender Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 12 / 26
  28. 28. O que não faremos • Correr para terminar o problema • Resolver problemas “reais” • Entrar em flame wars nas discussões • Competir com os outros participantes • Deixar pessoas sem entender Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 12 / 26
  29. 29. O que não faremos • Correr para terminar o problema • Resolver problemas “reais” • Entrar em flame wars nas discussões • Competir com os outros participantes • Deixar pessoas sem entender Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 12 / 26
  30. 30. O que não faremos • Correr para terminar o problema • Resolver problemas “reais” • Entrar em flame wars nas discussões • Competir com os outros participantes • Deixar pessoas sem entender Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 12 / 26
  31. 31. O que não faremos • Correr para terminar o problema • Resolver problemas “reais” • Entrar em flame wars nas discussões • Competir com os outros participantes • Deixar pessoas sem entender Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 12 / 26
  32. 32. Podemos. . . • Experimentar novas idéias • Nos divertir • Começar! − Coding Dojo Chemtech Segunda-feira, 21 de setembro de 2009 – 17:30-19:00 Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 13 / 26
  33. 33. Podemos. . . • Experimentar novas idéias • Nos divertir • Começar! − Coding Dojo Chemtech Segunda-feira, 21 de setembro de 2009 – 17:30-19:00 Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 13 / 26
  34. 34. Podemos. . . • Experimentar novas idéias • Nos divertir • Começar! − Coding Dojo Chemtech Segunda-feira, 21 de setembro de 2009 – 17:30-19:00 Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 13 / 26
  35. 35. Test-driven Development (TDD) Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 14 / 26
  36. 36. Testes unitários e o framework ÜÍÒ Ø • Método de verificação e validação do funcionamento de pequenas porções de código • : framework que visa facilitar a criação, ÜÍÒ Ø agrupamento e execução de testes unitários − ×× ÖØ ÕÙ Ð×´ Ð Ú ÕÙ Ö Ó´¿µ¸ µ − ×× ÖØÌÖÙ ´ÒÙÑ ÖÓ Ô Ö´ µµ − ×× ÖØ ÕÙ Ð×´ ÒÚ ÖØ ´³Ø ÜØÓ³µ¸ ³ÓØÜ Ø³µ − etc. Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 15 / 26
  37. 37. Testes unitários e o framework ÜÍÒ Ø • Método de verificação e validação do funcionamento de pequenas porções de código • : framework que visa facilitar a criação, ÜÍÒ Ø agrupamento e execução de testes unitários − ×× ÖØ ÕÙ Ð×´ Ð Ú ÕÙ Ö Ó´¿µ¸ µ − ×× ÖØÌÖÙ ´ÒÙÑ ÖÓ Ô Ö´ µµ − ×× ÖØ ÕÙ Ð×´ ÒÚ ÖØ ´³Ø ÜØÓ³µ¸ ³ÓØÜ Ø³µ − etc. Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 15 / 26
  38. 38. Testes unitários e o framework ÜÍÒ Ø • Método de verificação e validação do funcionamento de pequenas porções de código • : framework que visa facilitar a criação, ÜÍÒ Ø agrupamento e execução de testes unitários − ×× ÖØ ÕÙ Ð×´ Ð Ú ÕÙ Ö Ó´¿µ¸ µ − ×× ÖØÌÖÙ ´ÒÙÑ ÖÓ Ô Ö´ µµ − ×× ÖØ ÕÙ Ð×´ ÒÚ ÖØ ´³Ø ÜØÓ³µ¸ ³ÓØÜ Ø³µ − etc. Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 15 / 26
  39. 39. O que é TDD? • Técnica de desenvolvimento que estimula o uso constante de testes unitários e refatoração • Quebra de paradigmas! − O teste é escrito antes do código − Escrever mais não é desperdício de tempo, é um investimento − A implementação não é tão importante Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 16 / 26
  40. 40. O que é TDD? • Técnica de desenvolvimento que estimula o uso constante de testes unitários e refatoração • Quebra de paradigmas! − O teste é escrito antes do código − Escrever mais não é desperdício de tempo, é um investimento − A implementação não é tão importante Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 16 / 26
  41. 41. O que é TDD? • Técnica de desenvolvimento que estimula o uso constante de testes unitários e refatoração • Quebra de paradigmas! − O teste é escrito antes do código − Escrever mais não é desperdício de tempo, é um investimento − A implementação não é tão importante Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 16 / 26
  42. 42. O que é TDD? • Técnica de desenvolvimento que estimula o uso constante de testes unitários e refatoração • Quebra de paradigmas! − O teste é escrito antes do código − Escrever mais não é desperdício de tempo, é um investimento − A implementação não é tão importante Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 16 / 26
  43. 43. Por que desenvolver guiado por testes? • Feedback instantâneo sobre falhas de software − Falhas descobertas tarde custam muito caro! • Ajuda a desenvolver menos, de forma mais simples e focada • Os testes servem como documentação atualizada do funcionamento do código • Aumenta a confiança do desenvolvedor na hora de refatorar, e evita o problema do “cobertor curto” • Atividades mais criativas e menos repetitivas Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 17 / 26
  44. 44. Por que desenvolver guiado por testes? • Feedback instantâneo sobre falhas de software − Falhas descobertas tarde custam muito caro! • Ajuda a desenvolver menos, de forma mais simples e focada • Os testes servem como documentação atualizada do funcionamento do código • Aumenta a confiança do desenvolvedor na hora de refatorar, e evita o problema do “cobertor curto” • Atividades mais criativas e menos repetitivas Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 17 / 26
  45. 45. Por que desenvolver guiado por testes? • Feedback instantâneo sobre falhas de software − Falhas descobertas tarde custam muito caro! • Ajuda a desenvolver menos, de forma mais simples e focada • Os testes servem como documentação atualizada do funcionamento do código • Aumenta a confiança do desenvolvedor na hora de refatorar, e evita o problema do “cobertor curto” • Atividades mais criativas e menos repetitivas Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 17 / 26
  46. 46. Por que desenvolver guiado por testes? • Feedback instantâneo sobre falhas de software − Falhas descobertas tarde custam muito caro! • Ajuda a desenvolver menos, de forma mais simples e focada • Os testes servem como documentação atualizada do funcionamento do código • Aumenta a confiança do desenvolvedor na hora de refatorar, e evita o problema do “cobertor curto” • Atividades mais criativas e menos repetitivas Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 17 / 26
  47. 47. Por que desenvolver guiado por testes? • Feedback instantâneo sobre falhas de software − Falhas descobertas tarde custam muito caro! • Ajuda a desenvolver menos, de forma mais simples e focada • Os testes servem como documentação atualizada do funcionamento do código • Aumenta a confiança do desenvolvedor na hora de refatorar, e evita o problema do “cobertor curto” • Atividades mais criativas e menos repetitivas Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 17 / 26
  48. 48. O ciclo do desenvolvimento guiado por testes Repita (Re)Escreva um teste Teste passou Veja se ele falhou Teste falhou Escreva Um ou código mais testes falharam Rode todos os testes Todos os testes passaram Refatore Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 18 / 26
  49. 49. TDD na sua linguagem • Â Ú → ÍÒ Ø • ºÆ Ì → ÒÍÒ Ø • ÈÝØ ÓÒ → ÙÒ ØØ ×Ø • ÊÙ Ý → Ì ×Ø ÍÒ Ø • ÈÀÈ → Ë ÑÔÐ Ì ×Ø • Â Ú × Ö ÔØ → ×ÍÒ Ø − ÉÙ ÖÝ → ÉÍÒ Ø • etc. Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 19 / 26
  50. 50. TDD na prática! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 20 / 26
  51. 51. ÈÝØ ÓÒ • Sintaxe elegante, simples e clara • Multiparadigma (OO, procedural, funcional) • Interpretável • Tipagem dinâmica, porém forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 21 / 26
  52. 52. ÈÝØ ÓÒ • Sintaxe elegante, simples e clara • Multiparadigma (OO, procedural, funcional) • Interpretável • Tipagem dinâmica, porém forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 21 / 26
  53. 53. ÈÝØ ÓÒ • Sintaxe elegante, simples e clara • Multiparadigma (OO, procedural, funcional) • Interpretável • Tipagem dinâmica, porém forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 21 / 26
  54. 54. ÈÝØ ÓÒ • Sintaxe elegante, simples e clara • Multiparadigma (OO, procedural, funcional) • Interpretável • Tipagem dinâmica, porém forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 21 / 26
  55. 55. ÈÝØ ÓÒ • Sintaxe elegante, simples e clara • Multiparadigma (OO, procedural, funcional) • Interpretável • Tipagem dinâmica, porém forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 21 / 26
  56. 56. ÈÝØ ÓÒ • Sintaxe elegante, simples e clara • Multiparadigma (OO, procedural, funcional) • Interpretável • Tipagem dinâmica, porém forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 21 / 26
  57. 57. O problema • Obter a lista de números primos até um determinado valor (ex.: 10 → 2, 3, 5, 7) • Crivo de Eratóstenes − Gerar lista → 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 − Remover 0 e 1 → 2, 3, 4, 5, 6, 7, 8, 9, 10 − Para cada numero, remover seus múltiplos da lista, com exceção dele mesmo ∗ 2 → 2, 3, 5, 7, 9 ∗ 3 → 2, 3, 5, 7 ∗ ... Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 22 / 26
  58. 58. O problema • Obter a lista de números primos até um determinado valor (ex.: 10 → 2, 3, 5, 7) • Crivo de Eratóstenes − Gerar lista → 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 − Remover 0 e 1 → 2, 3, 4, 5, 6, 7, 8, 9, 10 − Para cada numero, remover seus múltiplos da lista, com exceção dele mesmo ∗ 2 → 2, 3, 5, 7, 9 ∗ 3 → 2, 3, 5, 7 ∗ ... Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 22 / 26
  59. 59. O problema • Obter a lista de números primos até um determinado valor (ex.: 10 → 2, 3, 5, 7) • Crivo de Eratóstenes − Gerar lista → 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 − Remover 0 e 1 → 2, 3, 4, 5, 6, 7, 8, 9, 10 − Para cada numero, remover seus múltiplos da lista, com exceção dele mesmo ∗ 2 → 2, 3, 5, 7, 9 ∗ 3 → 2, 3, 5, 7 ∗ ... Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 22 / 26
  60. 60. O problema • Obter a lista de números primos até um determinado valor (ex.: 10 → 2, 3, 5, 7) • Crivo de Eratóstenes − Gerar lista → 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 − Remover 0 e 1 → 2, 3, 4, 5, 6, 7, 8, 9, 10 − Para cada numero, remover seus múltiplos da lista, com exceção dele mesmo ∗ 2 → 2, 3, 5, 7, 9 ∗ 3 → 2, 3, 5, 7 ∗ ... Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 22 / 26
  61. 61. O problema • Obter a lista de números primos até um determinado valor (ex.: 10 → 2, 3, 5, 7) • Crivo de Eratóstenes − Gerar lista → 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 − Remover 0 e 1 → 2, 3, 4, 5, 6, 7, 8, 9, 10 − Para cada numero, remover seus múltiplos da lista, com exceção dele mesmo ∗ 2 → 2, 3, 5, 7, 9 ∗ 3 → 2, 3, 5, 7 ∗ ... Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 22 / 26
  62. 62. Considerações finais Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 23 / 26
  63. 63. E agora? • Seres humanos não gostam de mudanças − Mudanças devem ser gradativas • Coding Dojo: experimentação sem cobranças! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 24 / 26
  64. 64. E agora? • Seres humanos não gostam de mudanças − Mudanças devem ser gradativas • Coding Dojo: experimentação sem cobranças! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 24 / 26
  65. 65. E agora? • Seres humanos não gostam de mudanças − Mudanças devem ser gradativas • Coding Dojo: experimentação sem cobranças! Você só sabe o que há atrás de uma porta depois que a atravessa! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 24 / 26
  66. 66. Referências • ØØÔ »» Ó Ò Ó ÓºÓÖ » • ØØÔ »» Ó ÓÖ ÓºÓÖ », ØØÔ »» Ó Ó×ÔºÓÖ » • Test-Driven Development: By Example – Kent Beck • ØØÔ »» ÑÔÖÓÚ Øº ÓѺ Ö»ÜÔ»ÔÖ Ø ×»Ø • ØØÔ »» ÙÒ Øº×ÓÙÖ ÓÖ ºÒ Ø» Ó » Õ» Õº ØÑ Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 25 / 26
  67. 67. Obrigado pela presença! Grupo de Gestão do Conhecimento Coding Dojo e Test-driven Development – 26 / 26
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×