Introdução a code katas

Aprenda code katas: pratique TDD, refatoração e design em exercícios curtos. Reserve 30 minutos hoje e veja sua técnica evoluir.

Avatar de Heitor Ricardo
Heitor Ricardo
Introdução a code katas

Você fecha vinte tickets por semana e mesmo assim sente que sua técnica travou no lugar? A culpa não é sua: entregar não é a mesma coisa que praticar. Code kata é o jeito de separar as duas.

Abertura conceitual que traduz a ideia de repetição deliberada — código como treino, não como entrega.
Abertura conceitual que traduz a ideia de repetição deliberada — código como treino, não como entrega.

O que é, afinal, um code kata

O nome vem do karatê: kata é uma sequência de movimentos que você repete até sair no automático. No código a ideia é a mesma. Você pega um problema pequeno e conhecido e resolve de novo, e de novo, focando em COMO resolve, não em terminar.

O ponto que confunde todo mundo: o objetivo não é a resposta. Você já sabe a resposta. O objetivo é a forma — como você nomeia as coisas, como quebra o problema, como escreve o teste antes.

Por que prática deliberada bate moer ticket

Ticket é trabalho sob pressão: prazo, código legado, gente esperando. Você resolve do jeito que dá pra resolver e segue. Aprende algo? Às vezes. De forma consistente? Quase nunca.

Prática deliberada é o contrário: ambiente controlado, problema fácil, zero pressão de entrega. Isso libera sua cabeça pra prestar atenção na técnica. É a diferença entre dirigir pro trabalho todo dia e treinar baliza num estacionamento vazio. Um te leva a lugares; o outro te faz dirigir melhor.

Como rodar seu primeiro kata

A receita é simples de propósito:

  1. Escolha um problema pequeno. FizzBuzz, Roman Numerals, Bowling. Algo que você resolve em menos de uma hora.
  2. Coloque um timebox. 30 minutos. Quando bater, para — mesmo sem terminar.
  3. Repita com uma restrição. Aqui mora a mágica. Refez? Agora faça de novo com uma regra: sem if, só imutável, TDD estrito, ou sem tocar no mouse.

A restrição te tira do piloto automático. Sem if você descobre polimorfismo na marra. Sem mouse você finalmente aprende os atalhos do editor. Cada repetição vira um ângulo novo do mesmo problema.

E apaga o código no fim. Sério. O artefato não importa — o que fica é na sua cabeça e nos seus dedos.

Ping-pong: kata em par

Kata em dupla fica melhor ainda, e o formato clássico é o ping-pong:

  • Pessoa A escreve um teste que falha.
  • Pessoa B faz o teste passar e escreve o próximo teste que falha.
  • Pessoa A faz esse passar, escreve o próximo. E assim vai.

Um escreve o teste, o outro implementa, alternando. Você é forçado a conversar sobre design, a justificar cada passo, e a viver o TDD de verdade em vez de só ler sobre. É desconfortável no começo e vicia depois.

Onde achar katas pra começar

Não precisa inventar problema. Já tem catálogo pronto:

  • Codewars — katas por nível, ótimo pra ir subindo a dificuldade.
  • Exercism — exercícios com mentoria e feedback humano, dezenas de linguagens.
  • codekata.com e Coding Dojo (codingdojo.org) — os katas clássicos, com contexto e variações.
  • cyber-dojo.org — feito pra kata em grupo, roda no navegador.

Começa pelo FizzBuzz hoje mesmo. Ridículo de fácil? É o ponto — a facilidade é o que te deixa olhar pra técnica.

Moer ticket paga o boleto. Kata é o que faz você ficar bom. Reserva 30 minutos, escolhe um problema bobo e roda o primeiro ainda hoje.

Gostou do artigo?

Compartilhe com seus amigos e ajude a espalhar conhecimento!