Dojo #5

1.027 visualizações

Publicada em

Apresentação efetuada na semana acadêmica Sociesc 2010. Esta Palestra foi seguida da sessão de número 6 do Joinville Dojo.

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.027
No SlideShare
0
A partir de incorporações
0
Número de incorporações
396
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Dojo #5

  1. 1. Coding Dojo<br />JoinvilleDojo<br />http://www.joinvilledojo.com.br<br />Guilherme Oenning<br />@oenning<br />http://blog.oenning.eti.br<br />LorivalSmolskiChapuis<br />@lorivalsc<br />http://blog.lorival.com<br />Professor Msc Luiz Carlos Camargo<br />http://luizcamargo.com.br/<br />SOCIESC – Sociedade Educacional de Santa Catarina<br />
  2. 2. CodingDojo<br />Joinville Dojo<br />Testes<br />TestDrivenDevelopment – TDD<br />Sessão de codingdojo<br />Retrospectiva<br />Dúvidas<br />Agenda do evento<br />
  3. 3. O que é um Dojo?<br />
  4. 4. Dojo<br />O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde se treinam artes marciais, especialmente as nipônicas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes. Por isso, é comum ver o praticante fazendo uma reverência antes de adentrar, tal como se faz nos lares japoneses.<br />Judô, Jiu-Jitsu, Ninjutsu, Karatê, Taekwondo...<br />
  5. 5. E o CodingDojo?<br />
  6. 6. CodingDojo<br />Um Coding Dojo é uma reunião para estudar e praticardesenvolvimento de software. <br />Eles estão lá para se divertir e para participar em prática expontânea de forma a melhorar suas habilidades.<br />Em um ambiente não competivivo e colaborativo, todos os participantes possuem um objetivo em comum: resolver o problema que foi proposto no início da sessão. <br />Para tanto, é utilizado algumas práticas ágeiscomo o TDD (Test Driven Development), Pair Programming e Refactoring.<br />
  7. 7. Porque fazer um Dojo?<br />Desenvolvedores não treinam.<br />Como seria um jogo de tênis sem treino dos seus competidores<br />Aquisições fazendo CodingDojo:<br />Conhecimento<br />Habilidades técnicas e humanas<br />Prática<br />Network<br />Estar sempre preparado<br />
  8. 8. Requisitos dos participantes<br />Desejo de aprender e compartilhar conhecimento<br />Respeito ao próximo<br />Mente sempre aberta<br />Disciplina<br />Comprometimento<br />
  9. 9. Requisitos para o CodingDojo<br />No mínimo 5 participantes<br />Uma sala<br />Um computador com projetor (apenas um)<br />Um problema<br />Um contador de tempo<br />
  10. 10. Como funciona?<br /><ul><li>Passado, Presente Futuro
  11. 11. Define o Kata (problema)
  12. 12. Sessão
  13. 13. Retrospectiva
  14. 14. Utiliza-se de uma modalidade</li></li></ul><li>Modalidade Randori - Regras<br /><ul><li>Piloto: Escreve o código
  15. 15. Co-piloto: Explica o que o Piloto está fazendo e o ajuda
  16. 16. Rodada:
  17. 17. Dura 7 minutos
  18. 18. Piloto se une ao grupo, Co-piloto vira piloto e alguêm do grupo vira Co-piloto.
  19. 19. Grupo só fala:
  20. 20. Teste está verde (passou)
  21. 21. Antes de escrever um teste (para decidir o que será feito)</li></li></ul><li>Modalidade Randori - Práticas<br /><ul><li>TestDrivenDevelopment (TDD)
  22. 22. Pair Programming
  23. 23. Baby Steps
  24. 24. Refactory
  25. 25. OrientedObject Programming (OOP)</li></li></ul><li>JoinvilleDojo<br />
  26. 26. JoinvilleDojo<br /><ul><li>Fundadores: Guilherme Oenning e LorivalChapuis
  27. 27. Objetivo: Criar um grupo de estudos para praticar técnicas de desenvolvimento de sistema em Joinville
  28. 28. Ocorreu em 2009 na Sociesc
  29. 29. Retrospectiva 2009</li></li></ul><li>JoinvilleDojo<br /><ul><li>Blog: http://www.joinvilledojo.com.br/
  30. 30. Twitter: www.twitter.com/joinvilledojo (92 seguidores)
  31. 31. Grupo: http://groups.google.com.br/group/joinville-dojo</li></li></ul><li>Introdução à testes automatizados e Test-Driven Development<br />
  32. 32. São programas de computador escritos para executar e validar diversas funcionalidades de um sistema.<br />Testes Automatizados<br />
  33. 33.
  34. 34. Entrada<br />Saída<br />Verificação<br />
  35. 35. Feedback <br />Instantâneo<br />
  36. 36. Hotkey: CTRL + R, AResultado: Feedback Instantâneo<br />
  37. 37. Segurança<br />
  38. 38.
  39. 39. Hotkey: CTRL + R, AResultado: Segurança<br />
  40. 40. Rápido e Barato<br />
  41. 41.
  42. 42. Test Driven Development<br />
  43. 43. Cenáriocomum<br />
  44. 44. Cenário com TDD<br />Diversasiteraçõesparaumaúnicafuncionalidade.<br />
  45. 45.
  46. 46. Concluindo...<br />
  47. 47. “Mas até ontem funcionava.” <br />– Cliente reclamando no suporte após uma atualização de versão.<br />“Compilou, está funcionando!” <br />– Desenvolvedor sem noção.<br />Frases Comuns<br />
  48. 48. “Ta pronto, só falta testar!”<br />
  49. 49. Behaviour-Driven Development;<br />Mocks;<br />Stub;<br />Teste unitários e Teste integrado;<br />Integração Contínua;<br />Code Coverage;<br />Apenas uma introdução...<br />
  50. 50. Nãoentendi nada, e agora?<br />
  51. 51. Só se aprende TDD com prática.<br />
  52. 52. Coding Dojo é umaatividade 100% prática.<br />
  53. 53. Quem quer programar, testar, e comer chocolate? <br /><br />
  54. 54. Katas<br />
  55. 55. FizzBuzz<br />Drinking Game<br />
  56. 56. Forme um círculo;<br />O primeiro jogador fala o número “1”;<br />O próximo jogador continua a sequência, 2, 3, 4 etc...<br />Porém, caso o número seja divisível por 3, o jogador deve falar “Fizz” ao invés do número.Caso o número seja divisível por 5, deverá ser falado “Buzz”. E caso o número seja divisível por 3 e por 5, deverá ser falado “FizzBuzz”.<br />O Jogador que errar, deve beber um copo.<br />Como funciona o jogo?<br />
  57. 57. Um software que, dado um número, seja capaz de me dizer o que eu deveria falar.<br />Ex.:<br />Se eu passar o número 1 para o sistema, deverá retornar “1”.<br />Se eu passar o número 3, deverá retornar “Fizz”.<br />...<br />O que faremos?<br />
  58. 58. Efeito Magnético<br />Tela de Desenho do AutoCAD<br />Tamanho: 200px x 100px<br />Raio do efeito magnético: 5px<br />
  59. 59. Um software que simula o efeito magnético do AutoCAD;<br />Será possível adicionar retas na tela de desenho dado um ponto inicial e um ponto final;<br />Se, ao desenhar uma reta um dos pontos estiver dentro de um campo magnético, este ponto deverá ser puxado para cima do outro ponto;<br />Se ao desenhar um ponto ele estiver dentro de dois ou mais campos magnéticos, ele deverá ser puxado para o mais próximo;<br />O que faremos?<br />44<br />

×