Escrevendo soluções de sucesso no SpecHero

Para garantir que você construa e mantenha uma reputação positiva no SpecHero , é importante postar apenas soluções úteis para pedidos de ajuda.

Para ter certeza de que suas soluções são úteis, analise esta lista de verificação antes de clicar no botão grande e brilhante “Enviar como solução”.

  • Obviamente, todas as especificações devem ser aprovadas e nenhum erro deve aparecer na caixa na parte inferior da tela.
  • De modo geral, não mude a especificação, apenas o código. Se você tiver que alterar a especificação porque acredita que ela está errada, (é possível), coloque um comentário no topo da especificação explicando porque você a alterou.
  • Escreva código suficiente para fazer a especificação passar, mas não adicione código apenas porque você acha que pode ser útil. Este é o Desenvolvimento Orientado a Testes, portanto, é realmente responsabilidade do testador conduzir a implementação. Os testadores devem levar o código para um test drive e procurar deficiências e, em seguida, escrevê-las como exemplo na especificação e enviar a especificação para trabalho posterior. Isso garante que o código seja totalmente testado e adequado à finalidade.
  • Escreva um bom código claro. Mantenha-o SECO. Use nomes de variáveis ​​significativos, siga as convenções da linguagem em que está escrito. Basicamente, escreva um código que você não odiaria depurar daqui a seis meses.
  • Certifique-se de não ter literais. Em seu código que não foi mencionado na descrição da especificação. Isso é um sinal de que sua solução não é a pretendida pelo solicitante. Veja abaixo para mais informações.

A maioria dos itens acima são bem simples, mas o último ponto pode precisar de uma pequena explicação.

Dê uma olhada no código desta solução . Este é um exemplo de limo. Isso faz com que as especificações sejam aprovadas e, ao mesmo tempo, é completamente inútil para o solicitante. Observe em particular como ele contém valores literais. A descrição da especificação é:

A picture
when its height is changed
maintains its proportions

when its width is changed
maintains its proportions

Em nenhum lugar há não menciona os números 400, 200, 50e 100que aparecem como literais no código. Essa é uma grande pista de que o código não está fazendo o que o solicitante pretendia.

Agora verifique o código dessa solução útil para o mesmo problema. Observe que ele não contém literais que não foram mencionados na descrição do problema (neste caso, nenhum). Este é um bom sinal de que você está no caminho certo para fazer o que o solicitante pretendia.

Se você fez o possível para seguir as diretrizes acima, vá em frente e envie. Estamos trabalhando em um sistema de feedback agora, então esperamos que em breve você possa receber comentários construtivos e trabalhar para encontrar uma solução eficaz.

Feliz resolução.