Даже если Вы оказались в проекте, в котором уже много лет впечатывают коды вручную, всё равно создавайте и используйте константы в своём коде - отдайте предпочтение хорошему стилю программирования, а не плохой традиции.
*** Не рекомендуется (отгадайте что значит 8 ): ***
Код: Выделить всё
if (orderStatus == 8)...
*** Рекомендуeтся: ***
Код: Выделить всё
if (orderStatus == OrderStatus.Closed)...
Я столкнулся с тем, что во многих разработках в качестве аппликативных кодов используются либо бессмысленные номера (например, 1, 2, 3...), либо слишком короткие строки (порой однобуквенные, как 'O', 'C' and 'N'), которые (извините за нетехнический термин) хрен поймёшь - видимо, это уходит корнями в те древние времена, когда каждый байт был на вес золота. При сегодняшних-же ценах на выч. технику имеет смысл использовать мнемонические (осмысленные и понятные) строки (например 'OPEN', 'CLOSED' и 'CANCELED'). Это здорово облегчает как работу с базой данных (значение кода видно в поле внешнего ключа сразу - не надо лезть в таблицу-каталог кодов), так и отладку (значение переменной говорит само за себя). Если Вы создаёте новые коды, то для поля "значение" вполне достаточно строки длиной в 10 символов - в длинных кодах слова можно всегда укоротить так, что они всё ещё будут хорошо понятны.
Но даже если коды легко читабельны, всё равно используйте константы - никто не застрахован от опечаток (на которые компилятор не прореагирует).