Tengo un grupo de valores que representan un estado (ON, OFF, READY, ...). Estos valores también se almacenan en un DB como un campo int, por lo que me pregunto si las mejores prácticas dirían que esto sea una enumeración o simplemente un grupo de tipos const int en una clase.C# Enum o constantes int
Enum parece una opción natural para la lectura/codificación humana, pero parece que oculta el hecho de que importa a qué enteros se asignen los valores (o los valores recuperados de un DB se instanciarán al estado incorrecto). Alguien puede entrar más tarde y agregar un nuevo valor a la enumeración o algo así y arrojar todo.
¿Cuál es el mejor enfoque?
¡Es cierto también para los enteros! Puede establecer el valor que desea para cada enumeración y el compilador aplicará (un poco) su código. Al menos no podrá escribir: myVar.MyEnum = 12345; –
I'd go 'enum' para su ejemplo. Pi es una constante, como lo es la velocidad de la luz. Tu conjunto de estados no lo son, en mi humilde opinión. – Ste