열거에 단수 또는 복수를 사용합니까? 나는 선언에서 복수형이 가장 합리적이라고 생각합니다.
enum Weekdays
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
…하지만 유형을 사용할 때 단수를 사용하는 것이 더 합리적이라고 생각합니다.
Weekday firstDayOfWeek = Weekday.Monday;
나는 단수형 whith 정규 열거 형 및 플래그와 함께 복수형을 사용하는 권장 사항을 읽었지만 더 많은 장단점을 듣고 싶습니다.
답변
다음은 Microsoft에서 직접 제공 한 것입니다.
http://msdn.microsoft.com/en-us/library/4×252001(VS.71).aspx
대부분의 Enum 유형에는 단수 이름을 사용하지만 비트 필드 인 Enum 유형에는 복수 이름을 사용합니다.
답변
한 가지 권장 사항은 .NET Framework 디자인 지침 ( 59-60 페이지) 에서 제공됩니다 .
마 그 값은 비트 필드 않는 한, 열거에 대한 단일 유형 이름을 사용합니다.
public enum ConsoleColor { Black, Blue, Cyan, ...
마 값으로 비트 필드 열거에 대한 복수의 타입 이름을 사용, 또한 플래그 열거했다.
[Flags] public enum ConsoleModifiers { Alt, Control, Shift }
답변
.NET Framework에서 대부분의 “일반”열거 형 (예 🙂 DayOfWeek
에는 단수 이름이 있고 플래그 열거 형 (예 : StringSplitOptions
, BindingFlags
)에는 복수 이름이 있습니다. 플래그 열거 형의 값은 여러 항목을 나타낼 수 있지만 플래그가 아닌 열거 형의 경우 단일 항목 만 나타낼 수 있습니다.
답변
일반적으로 열거 형 정의는 유형 정의로 간주되며 열거 형의 값은 유형이 가질 수있는 다른 값입니다. 따라서 단일 이름을 얻습니다.
enum Weekday { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY };
enum CoffeeSize { SMALL, MEDIUM, LARGE };
예. 열거 형을 클래스로 구현하는 정신적 경험을한다면, 유형에 대해 단수 이름을 사용한다는 사실은 그러한 열거 형에 단수 이름을 사용하는 것이 합리적이라는 것을 드러내야합니다. 예 :
struct Weekday {};
const Weekday SUNDAY;
const Weekday MONDAY;
const Weekday TUESDAY;
…
void func (Weekday *day)
{
if (day == &SUNDAY)
...
}
열거 형에서 복수형을 선호하는 사람을 위해 이름을 지정 struct Weekdays
하시겠습니까?
답변
일반적으로 열거 형 정의는 유형 정의로 간주되며 열거 형의 값은 유형이 가질 수있는 다른 값입니다. 따라서 단일 이름을 얻습니다.
enum Weekday { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY };
enum CoffeeSize { SMALL, MEDIUM, LARGE };
답변
Microsoft 는 특성을 사용하지 않는 한 열거 형에 단일 이름을 사용하는 것이 좋습니다Flags
. 그리고 Framework Design Guidelines 책에서 가져온 것처럼 열거 형 이름에 Enum, Flags 등을 접두사로 붙이면 안되며, 예전의 VB 열거 형에서 흔히 볼 수 있었던 약어 나 두문자어를 열거 형 값에 접두사로 붙이면 안됩니다.
답변
일관성이있는 한 주관적이고 무엇을 사용하든 상관 없습니다.