Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 3.66 KB

README.md

File metadata and controls

56 lines (41 loc) · 3.66 KB

💻 Coding dojo

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.

Objetivo do coding dojo:

❌ 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

Alguns conceitos fundamentais

  • 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;

Como montar um dojo?

  • 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

🚀 Começando o dojo

  • 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.

📫 Contribuindo para os dojos da 42

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:

  1. Crie um fork deste repositório.
  2. Crie um branch: git checkout -b <nome_branch>.
  3. Faça suas alterações e confirme-as: git commit -m '<mensagem_commit>'
  4. Envie para o branch original: git push origin <nome_do_projeto> / <local>
  5. Crie a solicitação de pull.

Como alternativa, consulte a documentação do GitHub em como criar uma solicitação pull.