Статусы вроде
"pending" и "finished" легко сломать опечаткой. Enum задаёт явный набор состояний и делает код понятнее.✅ Именованные значения вместо «магических» строк.
✅ Правила допустимых переходов рядом с описанием состояний.
✅ В языках с проверкой полноты
switch компилятор подскажет, если вы забыли обработать состояние.Но enum сам по себе не запрещает неверные переходы. Правило «отменённый заказ нельзя отправить» нужно реализовать отдельно.
