Katas que valem a pena

Dicas práticas para quem está rodando katas: timebox, restrições, ping-pong e dojo — transforme repetição em aprendizado aplicável.

Avatar de Danrley Pereira
Danrley Pereira
Katas que valem a pena

Você já sabe o que é um kata: um exercício de código pequeno que você repete pra treinar a técnica, não pra entregar. O problema é que muita sessão de kata vira só "resolver o exercício de novo" — e aí ela ensina pouco. A diferença entre um kata que rende e um que só passa o tempo quase nunca está no exercício. Está em como você conduz a sessão.

Imagem de abertura que traduz a ideia de uma sessão de kata bem conduzida — prática deliberada, repetição com restrições e reflexão em grupo — sem cair em clichê de "pessoa no computador".
Imagem de abertura que traduz a ideia de uma sessão de kata bem conduzida — prática deliberada, repetição com restrições e reflexão em grupo — sem cair em clichê de "pessoa no computador".

Timeboxe e apague tudo no fim

Defina o tempo antes de começar: 45 minutos, 1 hora, o que for. Quando o timer toca, acabou — mesmo que o código não esteja "pronto". A meta não é terminar, é praticar.

E no fim, apague. Delete o código, feche a branch sem commitar. Parece desperdício mas é o ponto todo: se você sabe que vai jogar fora, para de se apegar à solução e passa a prestar atenção no caminho.

Varie as restrições — é ali que mora o aprendizado

Repetir o mesmo kata do mesmo jeito te ensina a decorar a resposta. Repetir com uma restrição nova te força a pensar de novo. Algumas que funcionam bem:

  • Só TDD, sem exceção: nenhuma linha de produção sem um teste vermelho antes.
  • Sem if: nada de condicional — te empurra pra polimorfismo, tabelas de lookup, null object.
  • Funções de no máximo 3 linhas: obriga a extrair e nomear cada passo.
  • Sem mouse / só teclado: treina navegação e refactoring assistido pela IDE.
  • Silêncio total em par: só o código e os testes comunicam.

Uma restrição por sessão. Duas ao mesmo tempo viram quebra-cabeça, não treino.

Ping-pong: pareamento que força foco

O formato ping-pong é o melhor jeito de fazer kata em dupla. A pessoa A escreve um teste que falha. A pessoa B faz o teste passar e escreve o próximo teste que falha. A pessoa A faz esse passar, e assim por diante.

O efeito é que ninguém fica assistindo de fora. Quem não está digitando está pensando no próximo teste. E como o teste vem de quem não vai implementá-lo, você para de escrever testes sob medida pra sua própria solução mental.

Dojo em grupo: rotação e plateia que participa

No coding dojo (formato Randori), uma dupla trabalha na frente de todo mundo, projetando a tela. A cada 5–7 minutos rotaciona: quem estava no teclado volta pra plateia, quem estava co-pilotando assume, e alguém da plateia entra.

Duas regras que salvam o dojo:

  • A plateia só comenta quando os testes estão verdes. Debater design com teste vermelho na tela vira caos.
  • Quem entra assume o código como está, sem reclamar. O objetivo é continuar o raciocínio do grupo, não impor o seu.

Um facilitador cuida do timer e das regras, sem tocar no código.

Escolha o kata certo pro objetivo

O exercício não é neutro — cada um treina uma coisa. Escolha pelo que você quer praticar hoje:

  • FizzBuzz / Roman Numerals: ritmo de TDD e passos pequenos. Ótimo pra aquecer ou pra quem está começando.
  • Bowling / Gilded Rose: refactoring de lógica bagunçada e cobertura antes de mexer.
  • Mars Rover / Bank Account: design, separação de responsabilidades, modelagem.

Rodar Gilded Rose pra treinar "passos pequenos" ou FizzBuzz pra treinar arquitetura é desperdiçar a sessão. Combine o kata com a intenção.

Guarde os últimos 10 minutos pra refletir

Sem retrô, o kata vira ginástica sem propósito. Pare antes do fim e pergunte, em grupo ou pra você mesmo: o que a restrição de hoje forçou a gente a fazer diferente? Onde travamos? Qual passo repetiríamos e qual cortaríamos?

É nessa conversa que a prática vira aprendizado transferível — o que você leva pro código de verdade amanhã.

Kata bom não é o que você resolve mais rápido. É o que te deixa desconfortável na medida certa, com uma restrição clara, um formato que mantém todo mundo pensando e cinco minutos no fim pra entender o que mudou na sua cabeça. Escolha uma restrição pra próxima sessão e apague o código no fim. O aprendizado fica.

Gostou do artigo?

Compartilhe com seus amigos e ajude a espalhar conhecimento!