Tempo de leitura: menos de 1 minuto
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:

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:

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

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.
