C# перечислить лучшие практики | Следует ли зарезервировать значения перечисления? - PullRequest
0 голосов
/ 29 мая 2020

Учитывая следующее перечисление:

enum CreditCardRequestStatus
{
    ToProcess  = 0,
    Processing = 1,
    InAnalysis = 2,
    Denied     = 3,
    Approved   = 4
}

При проверке кода разработчик попросил меня зарезервировать номера перечислений для «возможных будущих» значений перечисления, например:

enum CreditCardRequestStatus
{
    ToProcess  = 0,
    Processing = 10,
    InAnalysis = 20,
    Denied     = 90,
    Approved   = 100
}

Наша система не нуждается в последовательном использовании этого перечисления, и я видел раньше, что это не лучший способ «зарезервировать» значения в перечислениях, но сейчас я не могу найти хорошую статью об этом .

Хорошо ли зарезервировать значения перечисления для систем, которые не требуют последовательных значений для обработки?

Изменить:

MSDN @CodingYoshi процитировал это c.

1 Ответ

0 голосов
/ 02 июня 2020

Я думаю, это сильно зависит от того, как вы используете перечисление. Если вы выполняете реляционные сравнения (возможно, сортируете по ним), тем самым делая порядок значений значимым, тогда резервирование значений может иметь смысл (если да, вы также должны прокомментировать это в коде, чтобы никто не нарушал это). Я не могу придумать других причин оставить пробелы в ценностях.

...