열거를위한 단수 또는 복수?
열거에 단수 또는 복수를 사용하고 있습니까? 선언문에 복수형이 가장 적합하다고 생각합니다.
enum Weekdays
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
...하지만 유형을 사용할 때 단수로 더 의미가 있다고 생각합니다.
Weekday firstDayOfWeek = Weekday.Monday;
나는 단수형 whith 정규 열거 형 및 플래그와 함께 복수형을 사용하는 권장 사항을 읽었지만 더 많은 장단점을 듣고 싶습니다.
다음은 Microsoft에서 직접 제공 한 것입니다.
http://msdn.microsoft.com/en-us/library/4x252001(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
하시겠습니까?
마이크로 소프트 는 특성을 사용하지 않는 한 열거-type에 one-이름을 사용하는 것이 좋습니다Flags
. 그리고 프레임 워크 디자인 가이드 라인 책에서 일련의 것처럼 열거 형 이름에 Enum, Flags 등을 접두사로 붙이면 안, 예전의 VB 열거 형에서 나열 볼 수 있고 약어 나 두문자어를 열거 형 값에 접두사로 나 열면합니다.
일반적으로 열거 된 형의 값은 유형이 일련의 열거 된 값입니다. 따라서 단일 이름을 얻습니다.
enum Weekday { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY };
enum CoffeeSize { SMALL, MEDIUM, LARGE };
일관성이있는 한 주관은 무엇을 사용하든 상관 없습니다 (개인적으로 저는 Sql 규칙에서 이월 된 단수를 사용합니다).
C # / Microsoft 규칙과 마찬가지로 Java의 열거 형은 단수 여야합니다. http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
참고 URL : https://stackoverflow.com/questions/1335959/singular-or-plural-for-enumerations
'ProgramingTip' 카테고리의 다른 글
상속 및 준비 (0) | 2020.10.24 |
---|---|
특히 웹 앱에서 UUID를 사용하는 데이터베이스 행 식별자는 어떻게 생각하십니까? (0) | 2020.10.24 |
복수의 염색체 생성? (0) | 2020.10.24 |
org.hibernate.PersistentObjectException : 분리 된 지속가 지속 전달. (0) | 2020.10.24 |
특정 속성을 표시 한 모든 속성 가져 오기 오기 (0) | 2020.10.24 |