Code Kata - Praticando para melhorar

Kata: É um exercício no karate onde você repete um conjunto de movimentos vária vezes, melhorando a cada repetição.

Para qualquer área seguida por uma pessoa, seja um músico, atleta, ou cozinheiro, seu sucesso depende, além da teoria adquirida e do talento, extremamente da prática.

É comum para um músico treinar horas diariamente para alcançar sua melhor habilidade e obter uma música perfeita durante uma apresentação. Porém infelizmente é extremamente raro notarmos o mesmo na nossa área. Na realidade o comum é que desenvolvedores saiam da faculdade com um conhecimento básico do desenvolvimento de softwares e em seguida simplesmente começam a trabalhar em projetos e não separam um tempo para a prática.

Talvez você esteja pensando: “Ao mesmo tempo que estou no trabalho desenvolvendo código para o projeto de um cliente, já estou praticando. Então desenvolvedores não precisam praticar além do trabalho diário.”.

Mas então digo que você está enganado, no trabalho existe a pressão com o prazo, com abordagens fixadas pelo cliente ou pelo ambiente de produção, a não aceitação de um chefe ou os companheiros de trabalho de uma ideia que você gostaria de aplicar ao projeto, etc.

A pratica depende de metas estabelecidas, mas você precisa estar confortável e ter a liberdade para tentar e produzir, ou seja praticar, sem nenhum dos problemas existentes no ambiente de trabalho, como os mencionados anteriormente.

Simplificando: Code Kata é uma forma de melhorar o nosso código através da prática continua.

Para mais informações acesse: http://codekata.pragprog.com/2007/01/code_kata_backg.html

Na empresa em que trabalho, Bravi – Powered by Tribal, eu e os outros desenvolvedores entramos no consenso de aplicar este conceito. Nosso primeiro Code Kata está sendo sobre um Jogo da Velha, o que eu pensava ser muito simples, mas está apresentando ser mais complexo do que eu imaginava. O que é bom porque está exigindo mais esforço.

Para quem se interessar em ver como está ficando, estou com um repositório no GitHub e aos poucos vou atualizando: https://github.com/maxclaus/NoughtsCrossesGame.