terça-feira, 7 de dezembro de 2010

Segundo Code Dojo

Nosso segundo Code Dojo aconteceu no dia 26/11/2010. Os participantes foram: Sebastião, Rogênio, Marcelo, Rogênio e Francival.
Apenas pra constar, esqueci de colocar no post "Meu primeiro Code Dojo", mas nosso primeiro Code Dojo aconteceu no dia 19/11/2010, e estavam presentes, além dos que citei acima, o Ézyo.
Abaixo o e-mail com o resumo do problema e do código gerado:
 Hoje fizemos nosso segundo Dojo, e foi bem legal. Todo mundo tava empolgado e concentrado no problema (ou na resolução dele! :-) ).

O Ézyo não pode participar, mas já é esperado para o próximo, e tivemos a presença do Marcelo, ajudando com sua experiência em desenvolvimento de software.

Vamos ao "registro":


Problema:

O problema foi sobre algarismos romanos. Explicando: dado um número decimal, deveria ser retornado seu equivalente em algarismos romanos e vice-versa. Limitamos o número máximo em 3000. Infelizmente não conseguimos resolver o problema, mas certamente valeu por mais esta experiência com a técnica (Code Dojo), e também por ver a empolgação e o empenho de todo mundo. Teve gente até dizendo que não tava na sala, mas isso a gente deixa pra lá!! :-))

Código:
Bem, o código, como havia prometido, está no pastebin. O endereço é o seguinte:
http://pastebin.com/PLsiKv7g

Agora, a avaliação do "evento":  :-)


Pontos positivos:

  • Melhor entendimento da metodologia de TDD - Desenvolvimento Orientado a Testes;
  • Entendimento e uso do BabybStep;
  • O problema escolhido foi considerado bom e adequado;
  • Foi bom também para aprender um pouquinho mais de Python;
  • A explicação inicial do Marcelo sobre TDD foi interessante para nos mostrar que estávamos no caminho correto desde o outro Dojo e também para clarear/sedimentar nosso entendimento sobre TDD;
  • A experiência do Marcelo foi de grande ajuda no "evento".
Pontos negativos:
  • O atraso no início, pois marcamos para 15:00h mas começamos somente 16:10h;
  • O piloto e o co-piloto devem explicar melhor o que estão fazendo;
  • Utilizar sempre os casos de teste ao invés de testar alguma coisa "por fora".
Como se pode perceber, foram mais pontos positivos que negativos, o que é muito bom e já me deixa empolgado pra marcar o próximo para a próxima sexta-feira, 03/12/2010, às 15:00h, no mesmo bat-local. Bora? :-)

Tô mandando cópia também pra Priscilla. Quem sabe ela não se empolga e participa do próximo, nem que seja só como platéia, né Tia Pris? ;-)
O e-mail seguinte foi meu, tentando resolver o problema e criando um monstro!
Mais uma vez não conformado em não ter resolvido o problema, de novo resolvi resolver (preciso fazer um curso pra melhorar minha redação... o_O) o problema que usamos no nosso CodeDojoPydégua. :-)

Resolvi tratar o número dígito a dígito, ou seja, trato a unidade, dezena, centena e milhar individualmente e depois retorno o resultado concatenado. Funciona até 3.999, indo um pouco além do que limite que acordamos no problema, que era de 3.000.

Bem, funciona... mas acho que criei um monstro. Na verdade, quando terminei a minha primeira versão, vi que tinha criado um monstrão, mas depois de refatorar o código (falei bonito agora, hein?? :-) ), o monstrão se tornou um monstrinho até simpático.

Coloquei o código no pastebin ( http://pastebin.com/08X8yBNt), e aguardo ansiosamente os comentários e os melhoramentos de vocês.
Não esqueçam de que nosso próximo CodeDojoPydégua está agendado para a próxima sexta-feira, mesmo bat-horário e bat-local!
O Rogênio, acho que com pena do monstrinho que eu tinha criado, resolveu adotar o pequeno:
    Graças ao monstrinho que o Cléoson mandou, consegui ter uma ideia para diminuir o código. Criei um outro dicionário para usar como índice e utilizei a string do numeral pra definir qual o numeral em romano aplicar e criei um laço para diminuir o código: http://pastebin.com/7FcmMxN9
    Aguardo comentários, melhorias e o próximo dojo.

E assim encerraram-se as discussões do Segundo Code Dojo!

Nenhum comentário: