coding dojo .net architects - 30.01.2010
DESCRIPTION
Apresentação explicanod o que é Coding Dojo, no primeiro Dojo da comunidade .Net Architects em São Paulo.TRANSCRIPT
![Page 1: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/1.jpg)
Coding Dojo
Vinicius Quaiatohttp://viniciusquaiato.com
http://dojo.dotnetarchitects.net
![Page 2: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/2.jpg)
O que é ?• Coding Dojo é uma reunião de
desenvolvedores reunidos para resolver(ao menos tentar) um desafio.• O desafio deve ser possível de
desenvolver por todos.
![Page 3: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/3.jpg)
Por que ?• Um dos objetivos do Coding Dojo é
divertir, enquanto se treina as habilidades de desenvolvimento–Codificação–Testes–Design–Lógica–E por que não, arquitetura?!
![Page 4: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/4.jpg)
Treino !• Sim, os desenvolvedores precisam
treinar!• Buscar novos desafios e novas
maneiras de resolver os desafios.• Transferir conhecimentos.• A prática leva à perfeição.
![Page 5: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/5.jpg)
Como é ?• Ambiente não competitivo! Ninguém
quer provar ser melhor.• Desenvolvedores de todos os níveis
podem e devem participar.• É um local/ambiente para
experimentar e testar.
![Page 6: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/6.jpg)
Como funciona ?
• Randori Kata–Duplas (piloto e co-piloto)– Todos presentes podem participar–Cada um tem 5 minutos para codificar• Sempre usando TDD, Baby Steps e explicando o
que está sendo feito–Ao final de 5 minutos, co-piloto vira piloto e
outro vira co-piloto
![Page 7: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/7.jpg)
Como funciona ?
• Platéia fica em silêncio enquanto algum dos testes estiver vermelho.
![Page 8: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/8.jpg)
Fim ?• A sessão termina com cerca de 1h e
30min.• Nem sempre o desafio é concluído, e
este não é o objetivo.• Os dojos não se continuam.
![Page 9: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/9.jpg)
Retrospectiva• Uma retrospectiva deve ser feita.• Avaliam-se os pontos positivos e
negativos.• Debatem-se estes pontos.
![Page 10: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/10.jpg)
Desafios• FizzBuzz• TennisGame
![Page 11: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/11.jpg)
FizzBuzz• Dada uma sequência de números:– Sempre que um número for divisível por 3
deve-se ter como saída a palavra “Fizz”;– Sempre que um número for divisível por 5
deve-se ter como saída a palavra “Buzz”;– Se o número for divisível por 3 e por 5 deve-
se ter como saída a palavra “FizzBuzz”;
![Page 12: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/12.jpg)
FizzBuzz• Variantes:– Se o número contiver o algarismo 3
deve-se produzir como saída a palavra “Fizz”;– Se o número contiver o algarismo 5
deve-se produzir como saída a palavra “Buzz”;
![Page 13: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/13.jpg)
FizzBuzz• Exemplo:– 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16 ...– 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz,
11, Fizz, Fizz, 14, Fizz Buzz, 16 ...
![Page 14: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/14.jpg)
TENNIS GAME• Implementar um jogo de tênis,
simples.– Pontuação:
• Cada jogador pode marcar 0, 15, 30, 40 pontos• Se o jogador possue 40 e vence a bola corrente, ele
ganha o jogo• Se ambos possuem 40, estão em deuce
– Quem vence a bola ganha vantagem, e se vencer novamente ganha o jogo
– Se o jogador sem vantagem vence a bola, o jogo volta para deuce
![Page 15: Coding Dojo .Net Architects - 30.01.2010](https://reader036.vdocuments.com.br/reader036/viewer/2022082410/54632806b4af9f671c8b4ae0/html5/thumbnails/15.jpg)
TENNIS GAME• Exemplo:– P1: 15, 30, 40, Game!– P2: 0, 15, 0
– P1: 15, 30, 30– P2: 15, 30, 40, Game!