Что такое хороший общий термин для ошибок и предупреждений?
Я хотел бы построить иерархию ошибок и предупреждений ОО, возвращаемых клиенту во время, скажем, операции ценообразования:
interface PricingMessage {}
interface PricingWarning extends PricingMessage {}
interface PricingError extends PricingMessage {}
class NoSuchProductError implements PricingError {
...
}
Я не очень заинтересован в названии PricingMessage
, Какова концепция, которая включает в себя ошибки и предупреждения?
РЕДАКТИРОВАТЬ: Чтобы быть ясным, я ищу общую концепцию или название для ошибок и предупреждений, в частности (исключая, например, общие информационные сообщения). Например, компиляторы также сообщают об ошибках и предупреждениях. Что это?
7 ответов
Некоторые предложения...
"Результат"
У операции есть результаты, которые могут быть некоторым количеством ошибок, предупреждений, заметок и явным или подразумеваемым (без ошибок) успехом.
PricingResult
"Проблема"
Операция была запущена, но с проблемами, некоторые из которых могут быть фатальными (ошибки), а некоторые - нет (предупреждения). Если нет проблем, подразумевается успех.
PricingIssue
"Состояние"
Операция может иметь или находиться в состоянии ошибки или в состоянии предупреждения. Я думаю, что некоторые компиляторы используют "условие" как абстрактный термин для ошибки или предупреждения.
PricingCondition
"Diagnostic"
Результатом операции может быть диагностика ошибок и предупреждений. Я полагаю, еще один термин компилятора.
PricingDiagnostic
Если вы имели дело с Java или подобными ОО языками, то слово, которое вы ищете, будет Exception
, Это указывает на то, что вы достигли "исключительного" состояния, которое необходимо обрабатывать контролируемым образом.
Я предпочитаю имя Alert
, Оповещение IMO может иметь любой уровень серьезности, его можно идентифицировать как информационный, предупреждающий, критический или любой другой уровень, который считается подходящим.
Контр-аргумент, который я слышал об этом наименовании, заключается в том, что оповещение о существительном следует слишком близко, чтобы предупредить глагол, делая различие в том, что объект (существительное) может или еще не был доведен до сведения пользователей (глагол). В этом контексте присвоение им предупреждений может привести к некоторому когнитивному диссонансу и, возможно, путанице для разработчиков, рассуждающих о вашем коде.
Лучшее, что я могу предложить, это провести жесткое различие в вашей кодовой базе между Alert
(объект исключительного состояния) и Notification
(акт оповещения внимания пользователей), чтобы программисты были интуитивно понятны.
В веб-дизайне термин «предостережение» иногда используется для обозначения блока текста, который может быть ошибкой, предупреждением или информацией.
Это очень субъективно, но вот несколько советов:
- Выход
- LogEntry
Теоретически они могут быть определены как события - так что вы можете использовать это.