15
Coding Dojo Vinicius Quaiato http://viniciusquaiato om http:// dojo.dotnetarchitects.net

Coding Dojo .Net Architects - 30.01.2010

Embed Size (px)

DESCRIPTION

Apresentação explicanod o que é Coding Dojo, no primeiro Dojo da comunidade .Net Architects em São Paulo.

Citation preview

Page 1: Coding Dojo .Net Architects - 30.01.2010

Coding Dojo

Vinicius Quaiatohttp://viniciusquaiato.com

http://dojo.dotnetarchitects.net

Page 2: Coding Dojo .Net Architects - 30.01.2010

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

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

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

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

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

Como funciona ?

• Platéia fica em silêncio enquanto algum dos testes estiver vermelho.

Page 8: Coding Dojo .Net Architects - 30.01.2010

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

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

Desafios• FizzBuzz• TennisGame

Page 11: Coding Dojo .Net Architects - 30.01.2010

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

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

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

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

TENNIS GAME• Exemplo:– P1: 15, 30, 40, Game!– P2: 0, 15, 0

– P1: 15, 30, 30– P2: 15, 30, 40, Game!