CodeKata #4: Jogo de Dominó [Resultado]

Tempo de leitura: menos de 1 minuto

Jackie Chan

Fala galera, chega ao fim mais um CodeKata, hoje é dia de conhecermos os heróis que aceitaram o desafio e resolveram o problema proposto no CodeKata #4: Jogo de Dominó.

Nesta edição, a participação foi muito a baixo do esperado, tivemos apenas 2 participantes, são eles:

  • Flávio Pimenta;
  • Junior Capra.

Agradeço mais uma vez à participação de vocês.

Atribuo a baixa participação a complexidade do problema proposto, recebi feedbacks dizendo que o nível havia aumentado muito, isso desmotivou a participação. Espero melhorar isso no próximo a fim de incentivar a participação de mais pessoas.

O meu sentimento sobre o problema proposto foi o seguinte: Inicialmente achei que este CodeKata, seria mais difícil que o anterior (CodeKata #3: Restaurante), mas mais fácil que o CodeKata #2: Caixa Eletrônico. No entato quando comecei a implementar minha solução para o problema, vi que a complexidade deste problema era maior, não foi fácil fazer com que minha implementação passasse por todos os cenários de teste. Se bem que a complexidade me motiva a encontrar formas diferentes de resolver o problema.

Resultado

Mas vamos deixar de papo fiado e dar logo o resultado.

Foram criados 25 cenários de teste, sendo 21 cenário de negócio, ou seja, cenários que testa o serviço, a resolução do problema. Os outros 4 cenário, são de restrições. Os seguintes critérios foram avaliados:

  • Tabuleiro retornado:
    • Sequencia de peças encaixadas: não foi validada a exatidão do retorno, ou podem existir muitas combinações, o teste avalia dois quesitos: a quantidade de peças da sequencia e se a pontaB da peça X1 combina com a pontaA da peça X2, X2 com X3 e assim por diante;
    • Sobra de peças: a quantidade de peças que sobraram.
  • Restrições:
    • Quantidade máxima de peças;
    • Lista de peças nula ou vazia;
    • Peças de 0 à 6.
  • Performance:
    • As duas implementações entregues, executaram muito rápido, coisas de menos de 10 milissegundos, assim todos cenário verdes ganham 0,5 pontos.

Abaixo segue resultado dos participantes:

Flávio Pimenta foi o vencedor do CodeKata #4 com 76% de assertividade. Junior obteve 44%.
Flávio Pimenta foi o vencedor do CodeKata #4 com 76% de assertividade. Junior obteve 44%.

Falhas de execução implementação do Pimenta:

[code language=”java”]
Cenario 7 falhou: Esperado 12 encaixadas, mas retornado 9
Cenario 8 falhou: Esperado 15 encaixadas, mas retornado 14
Cenario 14 falhou: Esperado 56 encaixadas, mas retornado 52
Cenario 17 falhou: Esperado 5 encaixadas, mas retornado 3
Cenario 20 falhou: Esperado 4 encaixadas, mas retornado 3
Cenario 25 falhou: Esperado 8 encaixadas, mas retornado 6
[/code]

Falhas de execução implementação do Junior:

[code language=”java”]
Cenario 5 falhou: Esperado 3 encaixadas, mas retornado 2
Cenario 6 falhou: Esperado 9 encaixadas, mas retornado 4
Cenario 7 falhou: Esperado 12 encaixadas, mas retornado 6
Cenario 8 falhou: Esperado 15 encaixadas, mas retornado 10
Cenario 9 falhou: pois um erro era esperado (Dados no cenario: |9|77;88;81;98|0|0|erro|# aceita apenas peça de 0 à 6)
Cenario 10 falhou: pois um erro era esperado (Dados no cenario: |10|0 |0|0|erro|# nãoo aceita uma ponta nula)
Cenario 13 falhou: Esperado 28 encaixadas, mas retornado 16
Cenario 14 falhou: Esperado 56 encaixadas, mas retornado 18
Cenario 15 falhou: Esperado 100 encaixadas, mas retornado 34
Cenario 17 falhou: Esperado 5 encaixadas, mas retornado 3
Cenario 19 falhou: Esperado 8 encaixadas, mas retornado 1
Cenario 20 falhou: Esperado 4 encaixadas, mas retornado 3
Cenario 23 falhou: Esperado 10 encaixadas, mas retornado 1
Cenario 25 falhou: Esperado 8 encaixadas, mas retornado 5
[/code]

Pontuação

No enunciado do problema, disse que para este CodeKata, a pontuação para o ranking seria um pouquinho diferente.

Cada seria poderia ganhar uma bonificações ou penalizações referente a performance na execução. Disse também, que haveria um desconto com os cenários de restrição, ou seja, valeria mesmo que os cenário de negócio.

Pois bem, dadas as novas regras, a pontuação final que foi computadorizada no ranking foi composta pela seguinte formula:

  • Pontuação = (% Acerto * 100)
  • Bonificação Performance = (Total Acertos * 0,5)
  • Testes Restrições = (Acertos Restrições * -0,5)
  • Total Pontos = Pontuação + Bonificação Performance + Testes Restrições

Dado a formula, o quadro de pontuação ficou assim:

Pontuação dos participantes do codeKata #4
Pontuação dos participantes do codeKata #4

Ranking

Com a pontuação obtida pelos participantes neste CodeKata, o ranking ficou assim:

codekata_4_ranking
Ranking após CodeKata #4

Flávio Pimenta teve uma arrancada feroz e tomou a 2° posição do Darian Beluzzo, ficando a 6,5 do liderar Fernando, que aliás, foi o único a não se movimentar no ranking. O Junior também ganhou uma posição, agora é o 6°.

Veja todos os rankings até agora!

Conclusão

Parabéns Flávio Pimenta, você foi o campeão do CodeKata #4.

Como certeza no CodeKata #5 teremos mais movimentações no ranking. A competitividade está aumentando, até lá!

Todas as implementações e cenários de testes estão disponíveis no Github.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *