Вы заканчиваете свои сообщения об исключении точкой?
Я видел оба сообщения об исключениях с точкой и без нее. И я могу подумать о некоторых причинах того, почему оба могут быть хорошими.
- Никакая точка не даст вам свободу добавлять период или опускать его, если вы хотите. Может быть полезно, если сообщение отправляется в виде заголовка или чего-то подобного.
- С точкой вы всегда будете знать, что у вас есть "полное предложение", и оно выглядит более законченным.
Какой из них вы рекомендуете?
Также может быть проблема в локализованных строках ресурсов. Очевидно, что вы не можете поставить точку после всего (выглядело бы странно с точками после текста на кнопках и пунктах меню и т. Д.). Но следует ли тогда исключить период из всего, чтобы быть последовательным, и добавить его позже, где это полезно? Или вы бы предпочли поставить период, когда это кажется подходящим? Например, после всех строк ресурсов и сообщений об исключениях, которые являются предложениями, но не после тех, которые являются словами. Но тогда как насчет очень коротких предложений? Например, "Создать новый файл". Может быть, можно пропустить периоды для строк, которые также считаются действиями... (Просто думаю, пока я печатаю здесь...
Не самая важная вещь в мире, я знаю. Но такие мелочи, которые, как правило, меня раздражают через некоторое время. Мне нравится последовательность и знать, почему я делаю то, что я делаю. Проблема в том, что я не знаю, на какую из них пойти:p
6 ответов
Да, я обычно рассматриваю сообщения об исключениях как полные предложения, заканчивая их точкой.
Однако сообщение в исключении предназначено для разработчика, а не конечного пользователя. Вполне может быть, что одно и то же основное исключение должно привести к двум различным сообщениям для конечного пользователя, в зависимости от контекста, в котором был вызван метод исключения.
Вы действительно должны показывать меньше технических, более удобных для пользователя сообщений.
Q. Вы заканчиваете свои сообщения об исключении точкой?
Из Best Practices для исключений† на MSDN в разделе "Создание и повышение исключений":
- Используйте грамматически правильные сообщения об ошибках, включая знаки препинания. Каждое предложение в строке описания исключения должно заканчиваться точкой. Например, "Таблица журнала переполнилась." Будет подходящей строкой описания.
Что касается возможной обратной связи с пользователем через пользовательский интерфейс приложения, то этот вопрос включает в себя:
... Может также быть проблема в локализованных строках ресурсов.
В статье MSDN, упомянутой выше, также говорится:
- Включите локализованную строку описания в каждое исключение. Сообщение об ошибке, которое видит пользователь, происходит из строки описания возникшего исключения, а не из класса исключения.
Также из свойства Exception.Message† в начале раздела "Замечания":
Сообщения об ошибках предназначены для разработчика, который обрабатывает исключение. Текст свойства Message должен полностью описывать ошибку и, по возможности, также должен объяснять, как исправить ошибку. Обработчики исключений верхнего уровня могут отображать сообщение для конечных пользователей, поэтому вам следует убедиться, что оно грамматически правильно и каждое предложение сообщения заканчивается точкой. Не используйте вопросительные знаки или восклицательные знаки. Если ваше приложение использует локализованные сообщения об исключениях, вы должны убедиться, что они точно переведены.
†.NET Framework 4.6 и 4.5
Сообщения об исключениях в структуре заканчиваются точкой; Я склонен делать то же самое по этой причине.
В любом случае, выберите стиль и постарайтесь придерживаться этого...
Я всегда использую периоды в своих описаниях исключений. Простой факт заключается в том, что предложения, которые правильно акцентированы, легче читаются и выглядят более профессионально, что важно для воспринимаемого качества - не так ли?
Сравните это с:
Я всегда использую периоды в своих описаниях исключений, простой факт заключается в том, что предложения, которые правильно акцентированы, легче читаются и выглядят более профессионально, что важно для воспринимаемого качества.
Сообщения об исключениях являются частью интерфейса разработчика для вашего приложения. Интерфейсы обычно разрабатываются с целью помочь пользователю выполнить какую-то конкретную задачу. В случае исключения предоставленный интерфейс должен быть предназначен для передачи информации об ошибке, которая произошла в приложении.
Когда вы решите бросить исключение и написать строку, как
throw new ArgumentException("The string must contain at least one character.");
тогда вы уже приняли ряд решений об интерфейсе, в том числе:
- Тип исключения
- Отсутствие локализованных сообщений об исключениях (обычно использование жестко закодированной строки)
- Это исключение не является результатом какого-либо другого условия (без внутреннего исключения)
Помните, что интерфейс разработчика существует для обслуживания разработчиков, а пользовательский интерфейс - для обслуживания пользователя, первый предъявляет совершенно иные требования, чем второй, поэтому то, что хорошо для одного, может быть не хорошо для другого, поэтому период в сообщении об исключении не должен касаться пользовательский интерфейс, потому что он не должен быть видимым для конечного пользователя.
Использование периода не является основным решением в большинстве случаев, но вы должны рассмотреть вопрос о том, является ли его наличие (или его отсутствие) полезным или вредным для интерфейса, учитывая уже затронутые вопросы, включая согласованность и локализацию структуры.
Я знаю, что этот пост немного многословен и, возможно, немного космонавтичен, но я надеюсь, что он будет полезен для вас.
Используйте свое лучшее суждение. Я иногда тоже использую восклицательный знак.:-)