Описывайте состояния через enum вместо строк
Описывайте состояния через enum вместо строк Именованные константы помогают избежать опечаток в статусах и явно задают набор состояний. Используйте PENDING, APPROVED, REJECTED вместо произвольных строк. Держите правила допустимых переходов рядом с описанием состояний. Используйте проверку полноты switch, если язык и выбранная конструкция её поддерживают. Но enum сам по себе не запрещает неверные переходы — эту логику нужно реализовать отдельно. Java Библиотека | Мы в Телеграм