São utilizados 3 conceitos no dojo:
- Pair Programming: duas pessoas agindo em conjunto para programar. No caso do dojo, usamos um modelo no qual um é responsável por editar o código (piloto) e o outro ajuda dando palpites apenas (copiloto).
- TDD (Test Driven Development): como o nome diz, desenvolvimento orientado por testes. Isso significa que primeiro fazemos o teste automatizado com a expectativa de como a funcionalidade deve funcionar. Como a funcionalidade não está implementada, o teste falha (Red 🔴). Depois implementamos a funcionalidade, e rodamos o teste novamente. Se a funcionalidade foi implementada corretamente, os testes passam (Green ✅). Então podemos refatorar o código existente (Refactor 🛠) ou fazer um novo teste para continuar incrementando a funcionalidade até resolver o problema.
- Baby steps: ao implementar a funcionalidade, só implementamos o mínimo necessário para que os testes existentes passem. É como "dividir para