Relato de um super Dojorio

O Dojorio na UFF, que aconteceu no último dia 01 de dezembro, contou com um convidado pra lá de especial. Klaus Wuestefeld, criador do Prevayler e do Sneer, estava no Rio para ministrar seu treinamento Learning & Coolness e aproveitou para conferir o dojo.

Aproveitando a presença do Klaus, fizemos o dojo em Java onde atacamos o problema do Detector de Jogada de Pocker. Esse problema é fantástico! Os testes ficam simples, mas provocam uma revolução no código à cada nova asserção. O resultado é o foco constante em refatoração.

O desafio consiste em informar um conjunto de 5 cartas para o detector que deverá identificar a maior jogada possível com aquele conjunto e retornar o nome da jogada.

Para quem não conhece Pocker, as jogadas são:

O código começou com o teste da jogada mais alta do pocker, e seguimos evoluindo com TDD pelas outras jogada em ordem decrescente. Esta estratégia foi ótima, pois as jogadas mais altas são mais raras e específicas. Consequentemente, seus testes e código são menores e mais simples.

Desta maneira, gradualmente os métodos auxiliares foram surgindo. Foi sensacional ver o design emergir na nossa frente.

Como a refatoração foi muito intensa e estávamos programando em Java, os pontos altos da sessão foram as magias que o Klaus ensinou com o Eclipse. Ficamos todos abobalhados.

Essa experiência levou a turma à duas conclusões:

  1. Eclipse é imprescindível para quem programa em Java. Realmente a ferramenta eleva sua produtividade em algumas ordens de grandeza.
  2. Java é uma das linguagens mais incompreendidas de todos os tempos. As pessoas confundem profundamente ter conhecimento da sintaxe, com ter conhecimento das formas de expressão da linguagem.

Para validar estas conclusões, basta entrar em contato com o Klaus e marcar uma sessão de pair programming remoto para entender do que estamos falando.

O código do projeto está disponível no GitHub, mas está incompleto como acontece nas maiorias dos dojos. Aliás, esta é uma grande oportunidade para você continuar o exercício a partir de um codebase bem organizado.

Como podem ver, foi uma sessão de dojo totalmente excelente! E ainda destacamos:

  • Implementação de um Comparator em Java.
  • Refatoração dos testes para ficarem mais expressivos e legíveis implementando o assertMao e assertNaoMao.
  • Comida pra caramba. Compramos biscoitos diversos e refrigerantes.

No pós-dojo, conversamos sobre milhares de assuntos e a galera do dojo pôde ter contato com o conceito de Computação Soberana. Klaus deu uma aula sobre o tema e falou bastante do Projeto Sneer que é um projeto de software livre que implementa os diversos níveis deste conceito.

[]’s, HB!

Anúncios

One Response to Relato de um super Dojorio

  1. […] maior jogada possível com aquele conjunto e retornar o nome da jogada. O kata foi retirado do post Relato de um super Dojo Rio, do blog do Dojo […]

%d blogueiros gostam disto: