Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pedrobslisboa/dojo-challenge


https://github.com/pedrobslisboa/dojo-challenge

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# DOJO Challenge

Coletânia de desafios para o dojo de programação.

## O que é DOJO?

É uma reunião onde existem desafios de programação em que as pessoas são incentivadas a participar e cooperar suas habilidades com o público enquanto resolvem um determinado problema.

Existem 3 formatos de reunião de coding dojo:

- **Randori Kata**: Apenas um computador que compartilha o problema e a cada 5 minutos (ou tempo determinado) dois participantes se juntam para resolver o problema, explicando para a plateia. Um dos participantes é o piloto que comanda o desenvolvimento do código e o copiloto que ajuda o piloto na resolução do problema. Neste caso, os outros participantes não ajudam até que um teste passe ou até o pedido de ajuda. No final do tempo o copiloto torna-se o piloto e alguém da platéia assume o cargo de copiloto. O dojo se encerra quando o desafio é resolvido ou quando o tempo acabar.

![](./randori.avif)

- **Kake Kata**: É parecido com o Randori Kata, porém utiliza mais computadores e em cada um deles haverá uma dupla para resolver um problema diferente. A troca ocorre entre as duplas, o copiloto tornando piloto e vice-versa a cada tempo definido.

![](./kake.avif)

- **Prepared Kata**: Utiliza apenas um computador que compartilha o problema, onde o problema já foi resolvido utilizando TDD. A solução é apresentada a platéia, mostrando a solução passo a passo. No fim da apresentação todos os participantes devem saber reproduzir as etapas e resolver este mesmo desafio.

![](./kata.avif)

## Metodologia:

**TDD - Red Green Refactor**

Pensamos e escrevemos os testes do que iremos desenvolver (RED)
Pensamos e desenvolvemos a implementação até todos os testes passarem (GREEN)
Ao passarem, podemos pensar como refatorar e melhorar a implementação (REFACTOR)

Repete-se o ciclo.

![](./tdd.avif)

## Objetivos:

- Melhorar e incentivar a cooperação entre os desenvolvedores do time.
- Promover descontração e ensino através do código.
- Levantar discussões e elaboração pertinentes ao desenvolvimento cotidiano.
- Desafiar os desenvolvedores.

Atenção:

- Não existe uma forma certa de terminar o Dojo, o importante são os aprendizados absorvidos, independente de desafio solucionado ou não.
- Não é uma competição, todos os desenvolvedores tem que ter paciência e respeito com os seus pares.
- Todos tem voz, independente da senioridade e conhecimento.

## Ferramentas necessárias:

- VSCode
- LiveShare
- Meet / Gather