Допустим, у вас есть перечисление, представляющее код ошибки. Будет несколько кодов, каждый со своим собственным базовым значением int; однако значение перечисления, которое принимает значение по умолчанию 0, кажется, что его следует тщательно рассмотреть.
В случае перечисления кода ошибки я могу придумать два специальных значения: None (для случаев, когда нет ошибки) и Unknown (для случаев, когда существующий код ошибки не подходит, или, возможно, даже когда состояние ошибки не может быть обнаруженным).
Кажется, что одно из этих значений должно получить 0, тогда как другое, вероятно, получит что-то еще, например -1. Что более уместно: установить значение «Нет» на 0 или значение «Неизвестно» на 0?
public enum ErrorCode
{
None = -1,
Unknown = 0,
InsufficientPermissions,
ConnectivityError,
...
}
public enum ErrorCode
{
Unknown = -1,
None = 0,
InsufficientPermissions,
ConnectivityError,
...
}
Мой инстинкт подсказывает мне, что по умолчанию должно быть Неизвестно, но мне любопытно, сделал ли кто-нибудь это иначе.