Рекомендации по сообщению об ошибке
Сообщение об ошибке — это текст, отображаемый для описания проблемы, которая не позволяет пользователю или системе завершить задачу. Проблема может привести к повреждению или потере данных. Другие типы сообщений включают подтверждения, предупреждения и уведомления. Рекомендации, приведенные в этом разделе, помогают создавать четкие сообщения об ошибках, которые легко локализовать и использовать для клиентов.
Плохо написанные сообщения об ошибках могут быть источником разочарования для пользователей и могут увеличить расходы на техническую поддержку. Правильно написанное сообщение об ошибке предоставляет следующие сведения пользователю:
- Что произошло и почему?
- Что такое конечный результат для пользователя?
- Что может сделать пользователь, чтобы предотвратить его повтор?
Длина текста не является проблемой, если разработчик обрабатывает размер буфера правильно. Важно, чтобы у пользователя были все сведения, необходимые для решения проблемы. Если в сообщении несколько аудиторий, может потребоваться предоставить отдельный текст для администраторов, конечных пользователей и разработчиков.
Рекомендации
Ниже приведены способы улучшения сообщений об ошибках.
- Избегайте условий ошибки. Если вы можете предсказать, что ошибка возникнет, когда пользователь выполняет определенное действие, переопределите код, чтобы пользователь не смог вызвать ошибку.
- Напишите отдельное сообщение об ошибке для каждой известной причины ошибки. Не используйте одно универсальное сообщение для объяснения каждой возможной причины ошибки, если не удается определить причину ошибки при ее возникновении.
- Четко укажите проблему и, если это будет полезно пользователю, объясните, что вызвало проблему. По возможности замените универсальные сообщения из ресурсов таблицы системных сообщений подробным сообщением, соответствующим проблеме.
- Предоставьте пользователю решение проблемы. Если решение имеет более одного шага, обратитесь к разделу справки, где подробно объясняется задача.
- Отображение только имени продукта, компонента или мастера в строке заголовка сообщения. Это помогает пользователю определить, где возникла проблема. Не обобщайте проблему в строке заголовка или не включайте слово "error".
- Не используйте технический жаргон, используйте терминологию, которую понимает ваша аудитория. Не используйте сленг или аббревиаций.
- Используйте соответствующие кнопки команды, такие как OK, Cancel, Yes, No и Retry. Сочетания этих кнопок можно использовать. Кнопки "Да" и "Нет" всегда должны использоваться в сочетании и всегда должны предшествовать вопросу.
- Чтобы остановить операцию и закрыть окно сообщения, нажмите кнопку "Отмена ".
- Чтобы закрыть окно сообщения, нажмите кнопку "Закрыть ".
- Чтобы предоставить дополнительные сведения о причине ошибки, нажмите кнопку "Сведения ".
- Чтобы предоставить дополнительные сведения о решении проблемы, нажмите кнопку справки.
- Если в сообщение включено действие пользователя, нажмите кнопку "ОК", чтобы закрыть окно сообщения.
- Кнопки "Да " и "Нет " должны использоваться в сочетании и всегда должны предшествовать вопросу.
- Если ошибка является критической, напишите его в журнал событий.
Рекомендации по стилю
- Используйте полные, но простые предложения.
- Используйте текущее время, чтобы описать условия, которые вызвали проблему или состояние, которое по-прежнему существует. Вы можете использовать прошлое время для описания определенного события, которое произошло в прошлом.
- По возможности используйте активный голос. Для описания условия ошибки можно использовать пассивный голос.
- Избегайте текста верхнего регистра и восклицательных точек.
- Не заставляйте пользователя чувствовать себя в ошибке, даже если проблема является результатом ошибки пользователя.
- Не антропоморфизировать. Не подразумевайте, что программы или оборудование могут думать или чувствовать себя.
- Не используйте коллоквиальные слова или фразы. Не используйте термины, которые могут быть оскорбительными в определенных культурах.
- Не составляйте несколько существительных, не добавляя препозицию или подклауз для уточнения смысла. Например, "Сервер каталога службы LDAP сервера сайта" должен быть изменен на "Сервер каталогов для службы LDAP сервера сайта".
- Вставьте дескрипторы перед термином, чтобы уточнить смысл предложения. Например, "Указать infID, если для обнаружения задано значение No". Необходимо изменить значение "Указать параметр InfID, если параметр "Определить", равный "Нет".
- Избегайте слова "плохо". Используйте более описательные термины, чтобы сообщить пользователю, что неправильно. Например, избегайте сообщений, таких как "Недопустимый размер". Вместо этого укажите пользователю, какие критерии следует использовать при указании размера.
- Избегайте слова "пожалуйста". Его можно интерпретировать, чтобы означать, что необходимое действие является необязательным.
- Поместите слова, которые находятся в индексе и относятся к центральному значению в начале строки сообщения.