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).

Foi útil?

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:

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.

  1. 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
  2. .
  3. Projete o mecanismo para permitir a fácil localização, especialmente se for um produto comercial.
  4. 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.
  5. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top