Mensagem de erro de texto - Melhores Práticas
-
02-07-2019 - |
Pergunta
Estamos mudando parte do texto para os nossos velhos mensagens de erro, mal escritos. Quais são alguns recursos para melhores práticas em escrever boas mensagens de erro (especificamente para o Windows XP / Vista).
Solução
Em termos de formulação suas mensagens de erro, eu recomendo referindo-se aos seguintes guias de estilo para aplicações do Windows:
- do Windows diretrizes de experiência do usuário , e especificamente a seção sobre erro mensagens aqui .
- Microsoft Manual de estilo
Outras dicas
A melhor prática final é impedir que o usuário causando erros no primeiro lugar.
Não diga a usuários qualquer coisa que eles não se preocupam; código de erro 5064 não significa nada para ninguém. Não lhes dizer que eles fizeram algo errado; proibi-la em primeiro lugar. Não culpá-los, especialmente para erros seu software feitas. Acima de tudo, quando há um problema, dizer-lhes como corrigi-lo para que eles possam seguir em frente e começar algum trabalho feito.
A mensagem de boa erro deve:
- Seja discreto (sem-tela azul ou tela amarela da morte)
- Dar a direção do usuário para corrigir o problema (por conta própria, se possível, ou quem contactar para obter ajuda)
- Ocultar inútil, esotérico absurdo programador (não diga "uma exceção de referência nula ocorreu na linha 45")
- Seja descritivo sem ser detalhado. Apenas informações suficientes para informar ao usuário o que eles precisam saber e nada mais.
Uma coisa que eu comecei a fazer é gerar um número único que eu exibir na mensagem de erro e gravação para o arquivo de log para que eu possa encontrar o erro no log quando o usuário envia-me um screenshot ou chamadas e diz "Eu tenho um erro. Ele diz que meu número de referência é 0988-7634"
Por razões de segurança, não fornecem informações sistema interno que o usuário não precisa.
exemplo trivial: quando deixar de login, não diga ao usuário se o nome de usuário está errado ou a senha está errada; isso só vai ajudar o atacante à força bruta do sistema. Em vez disso, basta dizer "combinação de usuário / senha é inválida" ou algo parecido.
Sempre inclua sugestões para corrigir o erro.
Tente descobrir uma maneira de escrever o seu software para que ele corrige o problema para eles.
Para qualquer entrada do usuário (strings, nomes de arquivo, valores, etc), sempre exibir o valor errôneo com delimitadores em torno dele (citações, suportes, etc). por exemplo.
O nome do arquivo que você inseriu não pôde ser encontrado: "somefile.txt"
Isso ajuda a mostrar qualquer retorno espaço em branco / carro que pode ter infiltrado em e reduz a resolução de problemas e frustração.
- Evite mensagens de erro idênticos provenientes de diferentes lugares; parametrizar com file: linha, se possível, ou usar outro contexto que permite que você, o desenvolvedor, identificar de forma exclusiva, onde ocorreu o erro .
- Projete o mecanismo para permitir a fácil localização, especialmente se for um produto comercial.
- Se as mensagens de erro são visíveis pelo usuário, torná-los completas, frases significativas que não assumem conhecimento íntimo do código; lembre-se, você está sempre muito perto do problema - o usuário não é. Se possível, dê a orientação do usuário sobre como proceder, quem contactar, etc.
- Cada erro deve ter uma mensagem, se possível; se não, então tente e certifique-se que todos os caminhos descontrair-erro, eventualmente, atingir uma mensagem de erro que lança luz sobre o que aconteceu.
Tenho certeza de que haverá outras respostas boas aqui ...
mensagens mais curtas podem realmente ser lido.
Quanto mais tempo a sua mensagem de erro, a menos que o usuário vai ler. Dito isto, tentar refatorar o código para que possa eliminar exceções se há uma resposta óbvia. Tente só para ter exceções que acontecem com base em coisas além de seu usuário ou o controle de seu código.
A melhor mensagem de exceção é o que você nunca tem que display.
Erro manipulação é sempre melhor do que o erro relatórios , mas desde que você está reequipamento as mensagens de erro e não necessariamente o código aqui está um par de sugestões:
Os usuários querem soluções e não problemas. Ajuda-los saber o que fazer depois de um erro, mesmo se a mensagem é tão simples como "Por favor, feche a janela atual e tente a ação novamente."
Eu também sou um grande fã de registro centralizado de erros. Verifique se o log é tanto scanable humana e computador. Os usuários nem sempre deixá-lo saber quais os problemas que eles estão tendo, especialmente se eles podem ser 'contornado', de modo que o registro pode ajudar você a saber que as coisas precisam fixo.
Se você pode controlar o diálogo de erro facilmente, ter uma janela que mostra uma boa, mensagem legível com um botão 'detalhes' para mostrar o número do erro, traço, etc, podem ser uma grande ajuda para a resolução de problemas em tempo real como bem.
O suporte para vários idiomas se aplica para todos os tipos de mensagens, mas tende a ser esquecido no caso de mensagens de erro.
Eu segundo não informando ao usuário informação esotérica inútil como códigos de erro numéricos. Eu teria que seguir-se no entanto dizendo para registrar definitivamente essas informações para a solução de problemas por pessoas tecnicamente mais experientes.