Coding dojo é um conceito inspirado nas artes maciais onde 2 lutadores praticam algo no dojo enquanto os demais olham e aprendem. 🤓
O coding dojo consiste em um grupo de pelo menos 3 pessoas que se revezam entre codar, colaborar e observar.
❌ não é ser uma competição
✅ e sim um ambiente de aprendizado e colaboração
❌ não é sobre quem resolve o desafio mais rápido
✅ e sim sobre quem consegue resolver o desafio integrando todo o time
- Pair Programming: programação em par;
- Baby steps: cada etapa para a solução deve ser pequena o suficiente para que todos possam compreender e replicar mais tarde;
- Test Driven Development — TDD: antes de ser escrito uma implementação de código é escrito um teste;
- Refactoring: refatoração de código;
- Considere um tempo de 1h30 no total!
- Estabeleça o objetivo do desafio. Pode ser praticar algoritmos, ter contato com uma tecnologia específica...
- O que você vai usar de ferramentas?
- Pensando no objetivo, se você precisa de uma etapa inicial que talvez demande um pouco mais de tempo (como instalar um docker) considere fazer isso antes e salvar os comandos ou instruções utilizados. Assim você pode passar o comecinho já pronto pra quem for participar poder avançar rapidamente por essa etapa.
- Você pode usar um outro dojo como referência de início para o seu, ex: "Começe seguindo os passos do dojo de postgres e volte para cá".
- Há desafios prontos na internet que você pode adaptar, páginas como leetcode podem te ajudar 😉
- Experimente o desafio todo antes de aplicar e recomendamos que faça isso nos computadores das naves
- O grupo precisa ter equipes com pelo menos 3 pessoas:
1 pessoa que será o piloto, essa é a pessoa que vai codar.
1 pessoa que será o navegador, essa pessoa conversa e troca com o piloto.
1 pessoa ao menos para ser platéia, ela pode buscar coisas na internet enquanto os dois exercitam o P2P mas só pode conversar com outras pessoas da plateia. Falar com quem está codando somente se for solicitado (é difícil, mas segura a ansiedade hehe).
A cada 5 a 7 minutos quem está como piloto passa a ser plateia, quem está como navegador passa a pilotar e quem está na plateia passa a navegar.
Instrua o grupo participante sobre o desafio a ser resolvido e informe se haverá algum prêmio e quais são as regras.
- O desafio é em etapas? Explique bem como serão.
Ex: desafio de algoritmos onde o objetivo é fazer um programa que recebe uma string e responde se ela é ou não é um palíndromo. - Considere passar pequenos desafios como construir um teste para receber uma string qualquer. Se o teste quebra, libera o grupo para escrever o código que faz passar no teste.
- Após o código escrito e passando no teste, recomende que o grupo refatore o código se fizer sentido.
Quer propor um desafio? Se você é da 42, pega essas infos, pensa em algo e apresenta pra comunidade! Se você não faz parte da comunidade mas quer desafiar a gente, siga estas etapas:
- Crie um fork deste repositório.
- Crie um branch:
git checkout -b <nome_branch>
. - Faça suas alterações e confirme-as:
git commit -m '<mensagem_commit>'
- Envie para o branch original:
git push origin <nome_do_projeto> / <local>
- Crie a solicitação de pull.
Como alternativa, consulte a documentação do GitHub em como criar uma solicitação pull.