Escolhi o título deste post inspirado na aula do Henrique Bastos sobre testes e os asserts do Python abordando o FizzBuzzer Robot, um algoritmo que devolve a posição de um dado número e diz se este é múltiplo de 3 e\ou 5.
Literalmente a palavra Kata significa “forma” e descreve os movimentos realizados no treino de artes marciais sejam estes realizado de forma individuais ou em conjunto.
Trazendo utilização prática do conceito para minha prática de testes, programando passo a passo, bem baby steps e verificando a saída do teste a cada implementação pude perceber a importância de cada movimento e a atividade de refactoring ficou mais interessante e prazerosa ao notar a simplicidade do código obtido a cada melhoria.
Embora seja lento e pareça irritante o Kata possibilitou-me aprender com meu próprio código evoluindo a cada implementação e com a segurança de que as saídas resultantes está satisfazendo o limite da especificação do problema abordado. Pois por vezes eu recaía no problema de fazer aquelas analise de probabilidades até inimagináveis para o problema.
Desse modo, ganho produtividade e eficiência pois não estou gerando o retrabalho de passar um tempo incalculável tentando corrigir centenas de linhas de código onde tempo e energia foram desperdiçadas.
Agora, é que, tô pensando seriamente em organizar um Coding Dojo na minha cidade tipo o Dojo GamePlay.