Управление проектами - статьи


Designing for FAILURE - ключ к успеху?Беседа с Брюсом Линдсеем - часть 13


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

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

СБ: Когда вы производите сообщение об ошибке, вы должны знать, для кого оно предназначено, и что эти люди знают о происходящем в системе. Насколько принято испытывать сообщения об ошибках с привлечением сообщества пользователей? Мне кажется, что очень конструктивной была бы обратная связь.

БЛ: Зачастую текст сообщения об ошибке формулируется разработчиком, погруженным во внутренности системы, такой текст, очевидно, не отвечает потребностям конечных пользователей. Как я уже говорил, такие тексты являются недостаточно конкретными.

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

По существу, это сообщение является признанием системы, что в ней имеется ошибка, и в данный момент для исправления этой ошибки – неважно, программный это сбой или аппаратный – требуется гораздо больше информации. Выдача полного дампа бесполезна для бедного конечного пользователя.

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




Начало  Назад  Вперед



Книжный магазин