대/소문자 표기법
참고 항목
이 콘텐츠는 Pearson Education, Inc.의 허가를 받아 프레임워크 디자인 지침: 재사용 가능한 .NET 라이브러리에 대한 규칙, 관용어 및 패턴, 2판에서 재인쇄되었습니다. 이 버전은 2008년에 출판되었으며 이후 3판에서 완전히 개정되었습니다. 이 페이지의 정보 중 일부는 최신 정보가 아닐 수 있습니다.
이 장의 지침은 일관되게 적용하면 유형, 멤버 및 매개 변수가 더 읽기 쉬워지는 대/소문자 관련 간단한 메서드를 설명합니다.
식별자용 대/소문자 규칙
식별자 내의 단어를 구분할 수 있도록 식별자 각 단어의 첫 글자를 대문자로 바꾸세요. 밑줄을 사용하여 단어를 구분하거나 식별자에서 밑줄을 사용하지 마세요. 식별자는 용도에 따라 두 가지 방법으로 대문자를 적용할 수 있습니다.
PascalCasing(파스칼 표기법)
camelCasing(카멜 표시법)
매개 변수 이름을 제외한 모든 식별자에 사용하는 PascalCasing 규칙은 아래 예제에서처럼 각 단어(2글자를 초과하는 머리글자어 포함)의 첫 번째 글자를 대문자로 표시합니다.
PropertyDescriptor
HtmlTag
아래 식별자처럼 두 글자 머리글자어를 모두 대문자로 표시하는 경우도 있습니다.
IOStream
매개 변수 이름에만 사용하는 camelCasing 규칙은 아래 예제에서처럼 첫 단어를 제외한 각 단어의 첫 번째 글자를 대문자로 표시합니다. 또한 예제에서 알 수 있듯이 카멜 표기법을 적용한 식별자로 시작하는 두 글자 머리글자어는 모두 소문자로 표시합니다.
propertyDescriptor
ioStream
htmlTag
✔️ 모든 공개 멤버, 형식 및 여러 단어로 구성된 네임스페이스 이름에는 PascalCasing을 사용하세요.
✔️ 매개 변수 이름에는 camelCasing을 사용하세요.
아래 표에는 다양한 유형의 식별자에 대한 대/소문자 규칙이 나와 있습니다.
식별자 | 대/소문자 구분 | 예시 |
---|---|---|
네임스페이스 | Pascal | namespace System.Security { ... } |
Type | Pascal | public class StreamReader { ... } |
인터페이스 | Pascal | public interface IEnumerable { ... } |
메서드 | Pascal | public class Object { public virtual string ToString(); } |
속성 | Pascal | public class String { public int Length { get; } } |
이벤트 | Pascal | public class Process { public event EventHandler Exited; } |
필드 | Pascal | public class MessageQueue { public static readonly TimeSpan InfiniteTimeout; } public struct UInt32 { public const Min = 0; } |
열거형 값 | Pascal | public enum FileMode { Append, ... } |
매개 변수 | 낙타 | public class Convert { public static int ToInt32(string value); } |
복합어와 일반 용어 대/소문자 표기
대부분의 복합어는 대/소문자 표기 시 단일 단어로 취급됩니다.
❌ 닫힌 형식의 복합어는 각 단어를 대문자로 표기하지 마세요.
이러한 복합어는 엔드포인트 같은 단일 단어로 작성됩니다. 대/소문자 표기 지침에서는 닫힌 형식의 복합어를 단일 단어로 취급합니다. 복합어가 닫힌 형식으로 작성되었는지 확인하려면 최신 사전을 사용하세요.
Pascal | 낙타 | Not |
---|---|---|
BitFlag |
bitFlag |
Bitflag |
Callback |
callback |
CallBack |
Canceled |
canceled |
Cancelled |
DoNot |
doNot |
Don't |
Email |
email |
EMail |
Endpoint |
endpoint |
EndPoint |
FileName |
fileName |
Filename |
Gridline |
gridline |
GridLine |
Hashtable |
hashtable |
HashTable |
Id |
id |
ID |
Indexes |
indexes |
Indices |
LogOff |
logOff |
LogOut |
LogOn |
logOn |
LogIn |
Metadata |
metadata |
MetaData, metaData |
Multipanel |
multipanel |
MultiPanel |
Multiview |
multiview |
MultiView |
Namespace |
namespace |
NameSpace |
Ok |
ok |
OK |
Pi |
pi |
PI |
Placeholder |
placeholder |
PlaceHolder |
SignIn |
signIn |
SignOn |
SignOut |
signOut |
SignOff |
UserName |
userName |
Username |
WhiteSpace |
whiteSpace |
Whitespace |
Writable |
writable |
Writeable |
대/소문자 구분
CLR에서 실행할 수 있는 언어는 대/소문자 구분을 지원할 필요가 없지만 일부 언어는 이를 지원합니다. 언어에서 대/소문자 구분을 지원하더라도 프레임워크에 액세스할 수 있는 다른 언어가 이를 지원하지 않을 수 있습니다. 따라서 외부에서 액세스할 수 있는 모든 API는 같은 컨텍스트에 있는 두 단어를 구분하기 위해 대/소문자에만 의존해서는 안 됩니다.
❌ 모든 프로그래밍 언어가 대/소문자를 구분한다고 가정하지 마세요. 그러나 동일하지 않습니다. 대/소문자만 다른 이름을 지정서는 안 됩니다.
Portions © 2005, 2009 Microsoft Corporation. All rights reserved.
Pearson Education, Inc의 동의로 재인쇄. 출처: Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition 작성자: Krzysztof Cwalina 및 Brad Abrams, 출판 정보: Oct 22, 2008 by Addison-Wesley Professional as part of the Microsoft Windows Development Series.