Ошибки:
- Выход системы из строя.
- Обнаружение системой некорректных данных и отказ в их обработке.
- Выполнение системой ошибочного действия.
Входные данные бывают:
- Безусловно допустимые (их нужно всегда принимать).
- Безусловно недопустимые (их нужно не принимать).
- Сомнительные (их нужно переспрашивать – напр. даты).
Система должна принимать любые данные и проверять их (она не должна вылетать из-за неправильных данных). Сложные сообщения можно проверять по частям. Для этого нужна некоторая избыточность (либо встроенная в систему, либо введенная пользователем – например контрольная сумма)
Диагностика ошибок должна быть:
- информативной (расшифрованной, понятной пользователю на языке предметной области).
- конструктивной (определить причину ошибки и способ ее исправления).
- вежливой.
- своевременной (что все-таки не значит мгновенной).
- предупреждать о последствиях того или иного действия.
- более подробная диагностика для повторяющихся ошибок.
- связь диагностики со справочной службой (если одно сообщение об ошибке и нажата F1, то сообщение о конкретно этой ошибке, либо справка по последней ошибке)
Диагностика ошибок не должна быть:
|
|
- угрожающей.
- назидательной.
Идея: хвалить пользователя за правильные действия (когда он исправляет ошибки). Каким образом хвалить? Для англ. программ: Ok, для локализованных: «понял» - перекладывает вину с пользователя на систему.
Исправлять ошибки должно быть так же легко, как их делать – реализация режима отката (хранение контрольных точек). Альтернатива отката для командных языков – возможность быстро повторить команду.
Коды
Коды позволяют использовать краткие обозначения. Что требуется от кода?
- точность (уникальность).
- четкая структура.
- возможность расширения.
- лаконичность (краткость)
- осмысленность (облегчают восприятие)
- произносимость.
Состав кода:
- буквы.
- буквы и цифры.
- буквы, цифры и специальные знаки.
Если нужно использовать буквы и цифры, то их нужно разносить.
Фасетные коды – это много аспектный код, состоящий из нескольких частей. Каждая часть несет какую-то информацию
Справочная служба. Адаптация.