Используете ли вы для перечислений единственное или множественное число? Я думаю, что лучше всего использовать множественное число в объявлении
enum Weekdays
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
... но я думаю, что при использовании типа единственное число имеет больше смысла, например
Weekday firstDayOfWeek = Weekday.Monday;
Я где-то читал рекомендацию использовать единственное число с обычными перечислениями и множественное число с флагами, но я хотел бы услышать еще несколько плюсов и минусов.
coding-style
enumeration
Ян Аагард
источник
источник
Ответы:
Вот оно прямиком от Microsoft:
http://msdn.microsoft.com/en-us/library/4x252001(VS.71).aspx
источник
Одна рекомендация взята из Руководства по проектированию .NET Framework , стр. 59-60:
источник
В .NET Framework, большинство «нормальные» перечисления (например
DayOfWeek
) имеют особые названия и флаг перечисления (напримерStringSplitOptions
,BindingFlags
) имеют множественные имена. Это имеет смысл, поскольку значение перечисления флага может представлять несколько элементов, но для перечисления без флага оно может представлять только один элемент.источник
Да. Если вы мысленно реализуете перечисления как классы, то тот факт, что вы использовали бы единственное имя для типа, должен показать, что имеет смысл использовать единственные имена для таких перечислений. Например,
...
Кто предпочитает множественное число в перечислениях, не могли бы вы это назвать
struct Weekdays
?источник
В общем, я считаю определение перечисления определением типа, где значения перечисления являются различными значениями, которые может иметь тип; поэтому он получает имя в единственном числе:
источник
Microsoft рекомендует использовать для перечислений единственное имя, если не используется
Flags
атрибут. И, как указано в книге Framework Design Guidelines, вы не должны добавлять к именам перечислимых типов суффиксы Enum, Flags и т. Д., А также не должны добавлять к значениям перечисления префикс с аббревиатурой или акронимом, как это было обычно с перечислениями VB в те времена.источник
Это субъективно и не имеет значения, что вы используете, если вы последовательны (лично я использую единичное число как перенос из моих соглашений Sql)
источник
Как и соглашение C # / Microsoft, перечисления в Java должны быть единственными: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
источник