Re[3]: Посчитать с ошибкой или выдать сообщение об ошибке?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.17 23:08
Оценка: 9 (1)
Здравствуйте, Shmj, Вы писали:

S>Ну хорошо. А что если это 1 функция, которая возвращает значение total. Куда там запихнуть информацию об ошибке? Вместо decimal вернуть объект, содержащий список ошибок?


Можно и так. А еще лучше список результатов, каждый из которых обернут в некий Option (с стояниями Some(значение) и None() или Error, который вместо None будет какую-то дополнительную информацию содержать.

S>И потом как их отобразить?


Тебе вот хороший вариант предложили с табличным представлением.

А вообще, тут надо больше деталей знать. Что за данные? Зачем они клиенту? Какова их важность?

S>Может просто в лог-файл?


Зависит от предыдущих вопросов. Но пользователю, скорее всего, будет интересно, что результаты не точные.

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

S>Но ведь пользователь не смотрит лог-файл. Значит при обновлении, сначала отобразить окошко со списком ошибок (желательно всплывающее), потом отобразить сумму? Или же возле суммы поставить звездочку, при наведении на которую будет инфо об ошибках?


Окошко тупо закроют не глядя. Так что писать надо рядом и не звездочку, а огромным красным текстом (ОРАТЬ).

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

S>По протоколу такого вообще не должно быть, нужно исправлять на сервере. Но почему то на сервере сделали с нарушением протокола.


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

S>Может просто отобразить ошибку, сумму не отображать и сказать чтоб исправили на сервере?


Это ты у пользователя должен спрашивать. Скажем если считаешь хэш файла, то смысла в неверном расчете — нет. Но если это какие-то там обороты по филиалам, филиалов тысячи, а 2-3 из них (причем мелких) не откликаются, то пользователю может быть интересна и не точная сумма.

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

S>А до этого момента просто ошибка и все тут? Ведь во главе стоит протокол же...


Спроси у пользователей. Они что, недоступны?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.