O documento descreve o que é um Coding Dojo, que é uma reunião de desenvolvedores para resolver desafios de programação de forma colaborativa. Os objetivos são praticar habilidades de codificação, testes e design, além de transferir conhecimento. Dojos normalmente duram 1h30 e incluem atividades em duplas e retrospectivas. Exemplos de desafios são FizzBuzz e implementar um jogo simples de tênis.
2. 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.
3. 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?!
4. Treino ! Sim, os desenvolvedores precisam treinar! Buscar novos desafios e novas maneiras de resolver os desafios. Transferir conhecimentos. A prática leva à perfeição.
5. 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.
6. 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
7. Como funciona ? Platéia fica em silêncio enquanto algum dos testes estiver vermelho.
8. 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.
11. 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”;
12. 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”;
14. 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