Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

Введенное вами имя файла не найдено:"какой-тофайл.txt"

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

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

    Я уверен, что здесь будут и другие хорошие ответы...

Более короткие сообщения действительно можно прочитать.

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

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

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

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

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

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

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

Во-вторых, я бы не стал сообщать пользователю бесполезную эзотерическую информацию, такую ​​​​как числовые коды ошибок.Однако я бы посоветовал обязательно записать эту информацию для устранения неполадок более технически подкованными людьми.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top