Chaque fois que vous avez une sorte de correspondance entre les valeurs magiques et significations, alors vous devriez envisager d'utiliser une énumération à la place. De cette façon, vous pouvez travailler avec les constantes d'énumération au lieu des valeurs magiques directement.
Par exemple, vous pourriez avoir quelque chose comme ceci:
string getDayOfWeek(int dayOfWeek)
{
if(dayOfWeek == 0)
return "saturday";
else if(...
}
Au lieu d'utiliser un paramètre d'entrée int que vous pourriez plutôt avoir une énumération définie:
enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
string getDayOfWeek(Days dayOfWeek)
{
if(dayOfWeek == Days.Sat)
return "saturday";
else if(...
}
La première variante de la fonction getDayOfWeek
est considéré comme mauvais pour 2 raisons:
1) Il est difficile à lire, et donc plus difficile à maintenir et plus facile de faire une erreur dans votre code
2) Si vous voulez changer Sat à maintenant signifier 1 vous avez beaucoup de changements de code à faire
Vous pouvez read more about enumerations here on MSDN.
Voulez-vous dire '' IEnumerable ou 'enum'? –
JaredPar
Pouvez-vous clarifier un peu? Vous voulez dire un type qui implémente 'IEnumerable ()', ou comme un 'enum' avec un nombre défini de valeurs? –
@JaredPar, apparemment, il ne le sait pas lui-même ... – Dykam