Текст сообщения об ошибке - Рекомендации - PullRequest
12 голосов
/ 22 сентября 2008

Мы изменяем часть текста для наших старых, плохо написанных сообщений об ошибках. Каковы некоторые рекомендации по написанию хороших сообщений об ошибках (особенно для Windows XP / Vista).

Ответы [ 12 ]

6 голосов
/ 23 сентября 2008

С точки зрения формулировки ваших сообщений об ошибках, я рекомендую обратиться к следующим руководствам по стилю для приложений Windows:

5 голосов
/ 22 сентября 2008

В первую очередь рекомендуется не допускать возникновения ошибок у пользователя.

Не говорите пользователям ничего, о чем они не заботятся; код ошибки 5064 никому ничего не значит. Не говорите им, что они сделали что-то не так; во-первых, запретить это. Не вините их, особенно за ошибки, допущенные вашим программным обеспечением. Прежде всего, когда есть проблема, скажите им, как ее исправить , чтобы они могли двигаться дальше и выполнить работу.

2 голосов
/ 23 сентября 2008

В целях безопасности не предоставляйте внутреннюю системную информацию, которая не нужна пользователю.
Тривиальный пример: если не удается войти в систему, не говорите пользователю, если имя пользователя неверно или пароль неправильный; это только поможет злоумышленнику перебрать систему. Вместо этого просто скажите «Неверное сочетание имени пользователя и пароля» или что-то в этом роде.

2 голосов
/ 22 сентября 2008

Хорошее сообщение об ошибке должно:

  • Будьте ненавязчивы (без синего экрана или желтого экрана смерти)
  • Дайте пользователю указание исправить проблему (самостоятельно, если это возможно, или к кому обратиться за помощью)
  • Скрыть бесполезную, эзотерическую ерунду программиста (не говорите, «исключение пустой ссылки произошло в строке 45»)
  • Будьте описательными, не будучи многословными. Достаточно информации, чтобы сообщить пользователю, что ему нужно знать, и ничего более.

Одна вещь, которую я начал делать, это сгенерировать уникальный номер, который я отображаю в сообщении об ошибке, и записать в файл журнала, чтобы я мог найти ошибку в журнале, когда пользователь отправляет мне снимок экрана или звонит и говорит , "Я получил ошибку. Там написано, что мой номер ссылки - 0988-7634"

1 голос
/ 23 сентября 2008

Ошибка обработка всегда лучше, чем ошибка создание отчетов , но поскольку вы модифицируете сообщения об ошибках, а код не обязательно, вот пара предложений:

Пользователи хотят решения, а не проблемы. Помогите им узнать, что делать после ошибки, даже если сообщение просто: «Пожалуйста, закройте текущее окно и повторите действие».

Я также большой поклонник централизованной регистрации ошибок. Убедитесь, что журнал доступен для сканирования человеком и компьютером. Пользователи не всегда сообщают вам, с какими проблемами они сталкиваются, особенно если их можно «обойти», поэтому журнал поможет вам узнать, что нужно исправить.

Если вы можете легко управлять диалоговым окном ошибок, наличие диалогового окна, которое показывает красивое, читаемое сообщение с кнопкой «детали» для отображения номера ошибки, трассировки и т. Д., Может быть большой помощью для решения проблем в реальном времени, так как хорошо.

1 голос
/ 23 сентября 2008

Более короткие сообщения могут быть прочитаны.

Чем длиннее ваше сообщение об ошибке, тем меньше пользователь будет читать. При этом попробуйте рефакторинг кода, чтобы вы могли исключать исключения, если есть очевидный ответ. Старайтесь, чтобы исключения возникали только на основании того, что находится за пределами вашего пользователя или контроля вашего кода.

Лучшее исключение - это то, которое вам никогда не нужно отображать.

1 голос
/ 22 сентября 2008
  1. Избегайте идентичных сообщений об ошибках, приходящих из разных мест; параметризовать file: line, если это возможно, или использовать другой контекст, который позволяет разработчику, однозначно определить, где произошла ошибка.
  2. Разработка механизма, обеспечивающего легкую локализацию, особенно если это коммерческий продукт.
  3. Если сообщения об ошибках видны пользователю, сделайте их полными, осмысленными предложениями, не предполагающими глубокого знания кода; помните, вы всегда слишком близко к проблеме - пользователь не. Если возможно, дайте пользователю руководство о том, как действовать, с кем связаться и т. Д.
  4. Каждая ошибка должна иметь сообщение, если это возможно; если нет, то попробуйте и убедитесь, что все пути отмены ошибок в конечном итоге достигают сообщения об ошибке, которое проливает свет на произошедшее

    Я уверен, что здесь будут другие хорошие ответы ...
1 голос
/ 22 сентября 2008

Для любого пользовательского ввода (строки, имена файлов, значения и т. Д.) Всегда отображайте ошибочное значение с разделителями вокруг него (кавычки, скобки и т. Д.). например,

Не удалось найти введенное вами имя файла: "somefile.txt"

Это помогает показать любые пробелы / возврат каретки, которые могли проникнуть внутрь, и значительно уменьшает количество проблем и разочарований.

1 голос
/ 22 сентября 2008

Попытайтесь найти способ написать свое программное обеспечение, чтобы оно решило проблему для них.

1 голос
/ 22 сентября 2008

Всегда включать предложения по устранению ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...