Показать сообщение отдельно
Старый 02.09.2011, 08:44   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от gl00mie Посмотреть сообщение
выводить детализированные, четкие и понятные предупреждения и сообщения об ошибках в ходе проверки пред/постусловий и проч., чтобы и пользователи, и специалисты поддержки понимали, почему код "сломался" и/или не делает то, что ожидается, и не задавали лишних вопросов (сообщения вида "класс вызван с неверными параметрами" без дополнительных пояснений - это ни о чем);
Вот с этим пунктом не совсем согласен (а он на самом деле является ключевым). В смысле не согласен с тем что представленное средство решает эту проблему. Скорее даже наоборот.

Чем принципиально отличается детализированные сообщения от недетализированных? Тем что вместе с ошибкой "класс вызван с неверными параметрами" будет выведена ещё и трасировка стека? Или в сообщении "поле должно быть заполненно" будет полностью расшифрованы названия таблиц и обязательных полей? Нет пользователям не нужны такие детализированные сообщения, пользователям нужны сообщения на естественном языке, на языке бухгалтера, экономиста, кладовщика и т.д и т.п. Вот программистам нужны детализированные сообщения. Так им проще локализовать ошибку.

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

Последний раз редактировалось S.Kuskov; 02.09.2011 в 08:48.
За это сообщение автора поблагодарили: mazzy (2).