Como mostrar erros relevantes em um sistema
Erro não é só mostrar uma mensagem informando que o usuário fez algo errado, devemos informar o que ele fez de errado e o que ele deverá fazer para solucionar o problema. Isso se chama programação saudável e é isso que veremos neste post.
Certa vez eu estava usando uma aplicação e ao submeter um formulário apareceu uma mensagem informando o seguinte: ERRO! Cadastro inválido!
De cara a máquina grita comigo, acredito que esta mensagem tenha sido feita para me intimidar, não sei pra que tanta exclamação. Já me sentir inferior sendo chamado atenção por uma máquina, nada pessoal, mas e agora, o que tenho que fazer para solucionar o problema?
Perceberam quantas dúvidas? A mensagem de erro não me informou nada, apenas disse que eu estava errado, e gritando. rs Esta não é uma programação saudável.
Outro caso é quando nos deparamos com o ERRO 00359, ou ainda ERRO B15647.
Neste caso até faz sentido, não para o usuário, mas sim para o programador. As vezes existe um sistema gigantesco que segue uma seqüência hierárquica de erros e isso facilita os desenvolvedores a identificar o problema. Mas mesmo assim, o usuário continua sem saber o porque do erro.
Bem, com base em minha humilde experiência como desenvolvedor web, sigo um modelo simples para orientar o usuário durante o erro.
Modelo de erro
- Informe exatamente o erro acontecido, não mostre a menos que esta informação seja restrita, ou seja, uma informação de segurança.
- Informe o usuário o que ele deve fazer para se livrar deste erro.
Vamos a um exemplo prático. Imagine que um usuário está fazendo um cadastro com 15 campos. O usuário esquece de uma informação obrigatória, nesta suposição será o campo País. O que devemos mostrar ao usuário?
Resposta: Você não informou o campo PAÍS. Este campo é obrigatório, preencha-o para continuar seu cadastro.
Para tornar a mensagem informal, podemos fazer o seguinte:
Resposta: Ops! Você esqueceu de informar seu PAÍS. Para contornar este problema informa seu país.
Observe que eu dei ênfase no campo de erro, ou seja, dei um destaque neste caso na palavra PAÍS, para o usuário ver logo de inicio onde ocorreu o problema. Isso sim é uma programação saudável.
Outra coisa interessante é você não culpar o usuário. Se ele não preencher um campo, diga-o que esqueceu ou de alguma outra forma, mas não o culpe. O usuário não se sente bem com uma máquina culpando ele. Eu não gostaria.
São coisas simples que realmente fazem a diferença. Vale a pena você usar alguns segundos a mais elaborando uma boa mensagem de erro, além do mais, depois que você acostumar com isso, se tornará um habito, um hábito saudável, uma programação saudável, tanto para você quanto para o usuário.