Почему мир программного обеспечения полон кодов состояния? - PullRequest
10 голосов
/ 15 марта 2010

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

Ответы [ 16 ]

2 голосов
/ 15 марта 2010

Как насчет обратной совместимости с 30+ годами программных библиотек? В конце концов, некоторый код все еще написан на C ...

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

И ... это просто бессмысленная занятая работа для процессора. Если компьютер ослепительно быстр в обработке строк, представьте себе повышение скорости благодаря эффективным методам кодирования.

2 голосов
/ 15 марта 2010

Коды состояния являются уникальными, тогда как строки могут не быть. Существует только один код состояния, например «213», но может быть много толкований, например, «файл не найден», например «Файл» не найден "," Файл не найден! "," Datei nicht gefunden "," Файл не существует "....

Таким образом, коды состояния делают информацию максимально простой!

2 голосов
/ 15 марта 2010

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

Для машин также проще понимать коды, поскольку вы можете назначать классы ошибок диапазону чисел. Например, 1-10 - это проблемы ввода-вывода, 11-20 - дБ и т. Д.

2 голосов
/ 15 марта 2010

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

0 голосов
/ 15 марта 2010

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

Кроме того, вычислительно легче читать:

switch($status) {
case '404':
echo 'File not found!';
break;
case '500':
echo 'Broken server!';
break;
}

и т.д.

0 голосов
/ 15 марта 2010

Облегчите конечному пользователю понимание того, что происходит, когда что-то идет не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...