Skip to content

Dojo #9

by Guilherme Oenning on novembro 20th, 2010
  • Data: 20/11/2010
  • Horário: 09:00 às 12:00
  • Particpantes: Igor, Guilherme, Vilmar, Anderson, Cláudio Dias, Alírio.
  • Problema: Pile of Boxes
  • Ambiente: C# 4.0, MSUnit, SpecFlow e Windows 7
  • Código: Dojo #9 - 2.16 MB
  • Formato:Randori

Levamos 3 sugestões de Kata, sendo eles Pile of Boxes, Bowling Kata e o Número de Ernos.

Foi unânime a escolha do Pile of Boxes que consite em empilhar um número X de caixas e determinar a altura da pilha. Acontece que as caixas possuem a parte de cima aberta, se você tentar empilhar uma caixa menor em cima de uma caixa maior, a caixa menor é inserida dentro da caixa menor ao invés de empilhar. No problema proposto pelo site, as caixas não tinham fundo, no nosso caso, como queríamos fazer algo mais real, decidimos usar caixas com fundo :)

Apresentei a todos o SpecFlow, uma ferramenta em .Net para escrita de testes seguindo o Behavior Driven Development. Os testes ficaram bem legíveis, nos preocupamos ao máximo para escrevê-los na linguagem de negócio, sem utilizar termos técnicos como ‘exceção’ ou ‘deve retornar false’. Pelo visto foi aprovado por todos e devemos usar mais vezes nas próximas sessões.

A resolução do problema no início se mostrou simples, mas no final chegamos a conclusão que era mais complicado do que esperávamos. No meio da codificação, para não ter que criar muitos loops e diversas variáveis ‘Int’, resolvemos usar um pouco os recursos de OO e criamos uma classe ‘Caixa’, afinal, se o problema falava em empilhar caixas, fazia MUITO sentido ter uma classe que representa tal objeto. Essa super refatoração levou um bom tempo de trabalho e por isso o resultado final ficou com alguns testes falhando, infelizmente, não conseguimos concluir completamente o Kata. Ponto Importante para o próximo dojo: foi levantado a sugestão de fazermos uma modelágem ágil no whiteboard antes de começar a codificar.

Se alguém quiser terminar o Kata e publicar aqui no blog me avisa que eu atualizo este post. Discutimos também o que faremos no último dojo do ano, mais informações em breve no nosso Google Groups, vai ser legal, fique atento :)

Apenas 4 pessoas confirmaram mas tivemos 6 pessoas presentes, muito bom.

Se eu esqueci de algum fato importante, por favor coloquem nos comentários, vamos movimentar isso.

UPDATE: O Anderson levou o Kata para casa e conseguiu terminar, atualizei o download com a versão dele, quem tiver curiosidade para ver como ficou, olha lá. Parábens! :D

Retrospectiva

Positivos

  • Kata Interessante (x4)
  • Dinâmico e Interativo (x4)
  • Houve revesamento (x3)
  • Horário bom (x2)
  • Todos participaram (x2)
  • Novos participantes (x2)
  • Teve bebida
  • Gostei do local
  • Usamos OO
  • Ninguém reclamou do teclado
  • SpecFlow funcionou 100%
  • Veio mais pessoas do que o esperado
  • Mudança de estratégia de programação
  • Não faltou comida

Negativos

  • Não finalizamos (x4)
  • Poucas pessoas (x3)
  • Começamos atrasado (x2)
  • Não tivemos auxílio do quadro branco (x2)
  • Chocolate começou a enjoar
  • Co-piloto tomou posse do controle
  • Teste inúteis
  • Falta de conhecimento de Regex
  • Projetor falhando
  • Local difícil de encontrar
  • Faltou definir melhor antes de programar
  • Demora na atualização do Blog

Sugestão

  • Escrever o texto do blog após o Dojo
  • Tirar mais fotos e printscreen
unânime

From → Sessões

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS