Как правильно написать сбой в программе

Что не так с этими сообщениями об ошибках (и тысячами других, на них похожих)?

Что в них такого, что усложняет отладку приложения в несколько раз, особенно, если эти ошибки возникают в классе, который оборачивает какая-то используемая вами библиотека? Конечно, если стек вызовов уводит вас на двадцать уровней глубже вашего кода, то вы можете просмотреть все двадцать и таки найти ошибку, но ведь было бы гораздо лучше, если бы вам не пришлось этого делать?

Почему эта ошибка в CoffeeScript так часто появлялась в вопросах на StackOverflow?

[Mon Jun 08 2015 10:19:02 GMT+0100 (BST)] ERROR Unable to load /Users/tcrayford/proj/yeller/hubot/scripts/earl: SyntaxError: unmatched OUTDENT at exports.throwSyntaxError (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/helpers.js:197:13) at Lexer.exports.Lexer.Lexer.error (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/lexer.js:778:14) at Lexer.exports.Lexer.Lexer.pair (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/lexer.js:690:16) at Lexer.exports.Lexer.Lexer.outdentToken (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/lexer.js:378:16) at Lexer.exports.Lexer.Lexer.closeIndentation (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/lexer.js:550:19) at Lexer.exports.Lexer.Lexer.tokenize (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/lexer.js:34:12) at exports.compile.compile (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/coffee-script.js:35:36) at Object.loadFile (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/coffee-script.js:176:14) at Module.load (/Users/tcrayford/proj/yeller/hubot/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/coffee-script.js:211:36)

Что, если бы каждая ошибка, которую вы встречали, будучи разработчиком, точно говорила вам, в чем проблема? Не просто почему что-то не работает, а что вы сделали такого, что это что-то перестало работать?

В приложении снова произошел сбой, самый быстрый способ решить проблему

Контекст — наше все

Исправить проблему легко: достаточно лишь сделать так, чтобы в сообщении упоминался контекст, в котором произошла ошибка. Например:

ArgumentError: при назначении атрибутов вы должны передать хэш как аргумент, но вы передали #

Может, это и отнимет у вас немного времени при разработке продукта, но оно окупится — каждый раз, когда кто-то совершит ошибку при написании кода, ему не надо будет тратить минуты и часы, чтобы разобраться в ней и исправить ее.

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

Сбой программы стиральной машины. Что делать?

Для Clojure-истов: используйте ex-info

Следующая информация предназначена только для тех, кто пишет на Clojure. Используйте функцию ex-info при дизайне исключений и указании контекста:

(ex-info «какое-то сообщение об ошибке» )

Если инструмент, который вы используете в продакшене для трассировки исключений, понимает Clojure, то он автоматически выведет ex-data , т.е. весь нужный контекст. Кроме того, вы можете манипулировать ex-data как любыми другими данными, что особенно полезно при отладке сложных ошибок.

Как это касается меня?

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

Читайте также:
Как записать речь на компьютер программа

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

Источник: tproger.ru

Как правильно написать сбой в программе

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

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

Приведем наиболее часто встречающийся пример. Ошибки в 1С как правило сопровождаются соответствующими окнами. Необходимо сделать скрин* (фото) изображения всех окон, свзязанных с ошибокой, и оповещений, которые Вы получаете и вставить (вложить, приложить) к электронному письму, которое будет отправленно специалисту.

* Скриншот(скрин) — изображение с экрана, либо полностью всего экрана, либо его части с актуальным фрагментом.

1. Начните письмо с предоставления информации о том, в какой именно момент работы с базой возникает ошибка, например: после нажатия той или иной кнопки, или при попытке открыть форму документа или справочника. Если проблема с каким-то одним документом, то сообщите специалисту номер и дату документа, если справочник — код элемента справочника. Указывайте точное название типов документов, например «Реализация товаров и услуг», «Акт сверки взаиморасчетов» — как они представлены в базе, а не то, как Вы их привыкли называть в простом общении — т.е. для указанных примеров — не «накладная» или «отгрузка», и не просто «акт». То же касается и справочников — «Контрагенты», а не, как пример, «клиент». Смотрите, как называются пункты меню, через которые Вы получаете доступ к тем или иным объектам базы.

2. Обязательно скрин первоначального окна ошибки:

1С 8 как правильно грамотно предоставить информацию об ошибке в базе программисту по 1С 8

3. Очень часто в окошке сообщения об ошибке имеется кнопка «Подробно. «. Нажимаете на нее — откроется новое окно «Обнаруженные ошибки»:

1С 8 предоставление информации об ошибке специалисту из окна обнаруженные ошибки

Необходимо сделать скрин самого этого окна. Так же его вставить/вложить в письмо.

4. Следом, не закрывая окна «Обнаружены ошибки», продоложаем действия по сбору данных об ошибке в нем — необходимо еще вставить текст описания ошибки из этого окна в письмо.

Для этого правой кнопкой мыши вызываем контекстное меню в текстовом поле с ошибкой и выбиарем в открывшемся меню пункт «Выделить все» или, установив курсор мыши в любом месте текстового поля, нажать сочетание клавиш на клавиатуре «Ctrl + А»

как отправить текст ошибки программисту 1С 8

Далее для выделенного текста снова правой кнопкой мыши вызывается контекстное меню и выбрать пукнт «Копировать» или просто нажать сочетание клавиш «Ctrl + C»:

как скопировать текст ошибки в 1С 8 вставить в письмо, чтобы отправить программисту по 1С 8

И последнее действие в этом 4м пункте — вставить скопированный текст сообщения в тело электронного письма:

как правильно составить письмо с описанием ошибки в 1С 8

Почему-то у большинства пользователей часто проблема возникает именно в этом пункте — не могут выделить и вставить текст ошибки в письмо, поэтому этот момент рассмотрен достаточно подробно.

Читайте также:
Как удалить программу через wine

Не помешает так же указать и имя пользователя 1С, который получает ошибку, если на сделанных скринах этого не видно или ошибка возникает не у всех пользователей, а только у некоторых.

5. Начиная с более поздних релизов 1С (8.3.17, 8.3.18) информация об ошибке стала менее информативной, но получить ее расшифровку возможно без особых трудностей.

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

1С 8 как получить текст ошибки, если есть только ссылка сформировать отчет об ошибке

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

Нажатие на изображении увеличит его
1С 8, получить информацию об ошибке, не формируя отчет об ошибке

6. Иногда за ошибку пользователи воспринимают реакцию программы на неправильные дествия. Даже если в момент возникновения ошибки появляются сообщения в других окнах — о них тоже необходимо предоставить информацию, сделав скрин и скопировать/вставить текст в отправляемое письмо.

Пример такого информирования в окне «Служебные сообщения» по умолчанию в нижней части рабочей области окна программы 1С: Предприятие 8 для обычного приложения и сообщения. Текст из этого окна по аналогии, как это приведено выше, нужно скопировать и вставить в письмо. А так же в управляемом интерфейсе (как определить вид используемого приложения).

Нажатие на изображении увеличит его
1С 8 пример окна служебные сообщения с информацие об ошибке для предоставления специалисту программисту

1С 8 пример окна сообщения с информацие об ошибке для предоставления специалисту программисту в управляемом приложении

Таким образом в конечном варианте перед отправкой программисту 1С электронное письмо будет выглядеть примерно следующим образом. Не обязательно скрины могут быть вставлены в тело письма — если такой возможности нет (не все почтовые программы позволяют сделать это), то скрины должны быть приложены к письму. Но, согласитесь, удобно, когда вся информация предоставлена в едином цифровом поле.

какие данны сообщить об ошибке в 1С 8

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

Источник: www.azhur-c.ru

UX: как написать правильное сообщение об ошибке

UX ошибка

Сообщения об ошибке — простая на первый взгляд вещь, поэтому обычно им уделяется не очень много внимания. Тем не менее не всякое сообщение об ошибке можно назвать правильным и полезным. Хорошее сообщение должно информировать пользователя о том, что что-то пошло не так, объяснить причину, а также сообщить, как он может решить проблему.

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

Чтобы этого не произошло, при создании сообщения об ошибке вам нужно сделать следующее:

1. Проверить орфографию и пунктуацию

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

Читайте также:
Программа проводник не может выполнять с файлами

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

2. Конкретизировать проблему

Будем честны — сообщения вроде «произошла ошибка» или «что-то пошло не так» вряд ли можно назвать полезными. Чтобы они стали таковыми, нужно объяснить пользователям, что конкретно произошло и как конкретно они могут это исправить.

Something happened

Даже глобальные корпорации не застрахованы от таких неудач. Вот такая ошибка встречалась при установке Windows 10 (и сейчас уже стала мемом):

На самом деле при такой ошибке требовалось изменить языковые настройки, но из сообщения выше это было, естественно, не очень очевидно 🙂

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

3. Предоставить достаточное количество информации

Нужно не только объяснить, что необходимо сделать для исправления ошибки, но и рассказать, почему она вообще произошла.

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

4. Писать вежливо и в дружелюбном ключе

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

Пример неудачного сообщения об ошибке

Пример неудачного сообщения об ошибке:

Пример удачного сообщения об ошибке

Пример удачного сообщения:

5. Использовать микротекст

Текст-подсказки

Микротекст — короткий текст-подсказки рядом или под графами, которые помогают понять, как правильно заполнить то или иное поле. Полезный прием, который может сэкономить время и нервы пользователей. Иногда микротекст отображается при наведении курсора на значок справочной информации.

6. Можно добавить немного юмора

Юмор в сообщении об ошибке

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

4040 ошибка

Или другой известный пример (страницы 404 очень часто креативно оформляют):

В конце хочется добавить традиционный совет: самый простой способ проверить, понятные ли у вас сообщения об ошибках, — это обратиться к своим знакомым и друзьям, то есть провести тестирование на настоящих пользователях.

Источник: timeweb.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru