C# Language
이름 지정 규칙
수색…
소개
이 항목에서는 C # 언어로 작성할 때 사용되는 몇 가지 기본 명명 규칙에 대해 설명합니다. 모든 규칙과 마찬가지로 컴파일러에서는 적용하지 않지만 개발자간에 가독성을 보장합니다.
포괄적 인 .NET 프레임 워크 디자인 지침은 docs.microsoft.com/dotnet/standard/design-guidelines를 참조하십시오.
비고
쉽게 읽을 수있는 식별자 이름 선택
예를 들어, HorizontalAlignment라는 속성은 AlignmentHorizontal보다 영어로 읽기 쉽습니다.
간결함보다 가독성 읽기
속성 이름 CanScrollHorizontally
가 ScrollableX
(X 축에 대한 모호한 참조)보다 좋습니다.
밑줄, 하이픈 또는 다른 영숫자가 아닌 문자는 사용하지 마십시오.
헝가리어 표기법을 사용하지 마십시오
헝가리 표기법은 식별자의 데이터 유형 (예 : string strName
과 같이 매개 변수에 대한 일부 메타 데이터를 인코딩하기 위해 식별자에 접두어를 포함하는 관행입니다.
또한 C #에서 이미 사용 된 키워드와 충돌하는 식별자를 사용하지 마십시오.
축약어와 두음 어
일반적으로 약자 나 머리 글자를 사용하면 안됩니다. 이것들은 당신의 이름을 덜 읽을 수있게합니다. 마찬가지로, 머리 글자 어가 널리 인정된다고 가정하는 것이 안전한지를 아는 것은 어렵습니다.
대문자 사용 규칙
다음 용어는 대소 문자를 구분하는 다양한 방법을 설명합니다.
파스칼 케이스
식별자의 첫 글자와 이어지는 각 단어의 첫 글자는 대문자로 표기됩니다. 세 개 이상의 문자로 구성된 식별자에는 Pascal case를 사용할 수 있습니다. 예 : BackColor
낙타 케이스
식별자의 첫 글자는 소문자이며 각 연속 된 단어의 첫 글자는 대문자가됩니다. 예 : backColor
대문자
식별자의 모든 문자는 대문자로 표기됩니다. 예 : IO
규칙
식별자가 여러 단어로 구성된 경우 단어 사이에 밑줄 ( "_")이나 하이픈 ( "-")과 같은 구분 기호를 사용하지 마십시오. 대신 케이스를 사용하여 각 단어의 시작을 나타냅니다.
다음 표는 식별자에 대한 대문자 사용 규칙을 요약하고 다양한 유형의 식별자에 대한 예제를 제공합니다.
식별자 | 케이스 | 예 |
---|---|---|
지역 변수 | 낙다 | carName |
수업 | 파스칼 | AppDomain |
열거 형 | 파스칼 | ErrorLevel |
열거 값 | 파스칼 | 치명적 오류 |
행사 | 파스칼 | ValueChanged |
예외 클래스 | 파스칼 | WebException |
읽기 전용 정적 필드 | 파스칼 | RedValue |
인터페이스 | 파스칼 | IDisposable |
방법 | 파스칼 | ToString |
네임 스페이스 | 파스칼 | System.Drawing |
매개 변수 | 낙다 | typeName |
재산 | 파스칼 | BackColor |
MSDN 에서 더 많은 정보를 찾을 수 있습니다.
인터페이스
인터페이스는 명사 나 명사구, 또는 행동을 묘사하는 형용사로 명명되어야합니다. 예를 들어 IComponent
는 설명적인 명사를 사용하고 ICustomAttributeProvider
는 명사구를 사용하고 IPersistable
은 형용사를 사용합니다.
인터페이스 이름은 유형이 인터페이스임을 나타 내기 위해 문자 I
로 시작해야하며, 파스칼 (Pascal) 대소 문자를 사용해야합니다.
아래는 올바르게 명명 된 인터페이스입니다.
public interface IServiceProvider
public interface IFormatable
비공개 필드
개인 필드에는 camelCase
와 _camelCaseWithLeadingUnderscore
두 가지 공통된 규칙이 있습니다.
카멜 케이스
public class Rational
{
private readonly int numerator;
private readonly int denominator;
public Rational(int numerator, int denominator)
{
// "this" keyword is required to refer to the class-scope field
this.numerator = numerator;
this.denominator = denominator;
}
}
밑줄이있는 낙타의 경우
public class Rational
{
private readonly int _numerator;
private readonly int _denominator;
public Rational(int numerator, int denominator)
{
// Names are unique, so "this" keyword is not required
_numerator = numerator;
_denominator = denominator;
}
}
네임 스페이스
네임 스페이스의 일반적인 형식은 다음과 같습니다.
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>].
예 :
Fabrikam.Math
Litware.Security
회사 이름으로 네임 스페이스 이름을 접두사로 붙이면 다른 회사의 네임 스페이스가 동일한 이름을 가지지 않습니다.
열거 형
대부분의 Enum에 단수 이름을 사용하십시오.
public enum Volume
{
Low,
Medium,
High
}
비트 필드 인 열거 형에는 복수형을 사용하십시오.
[Flags]
public enum MyColors
{
Yellow = 1,
Green = 2,
Red = 4,
Blue = 8
}
참고 : 항상 FlagsAttribute
를 비트 필드 열거 형에 추가하십시오.
접미사로 '열거'를 추가하지 마십시오
public enum VolumeEnum // Incorrect
각 항목에 열거 이름을 사용하지 마십시오
public enum Color
{
ColorBlue, // Remove Color, unnecessary
ColorGreen,
}
예외
접미사로 '예외'추가
사용자 정의 예외 이름에는 "-Exception"이 붙어야합니다.
다음은 올바르게 명명 된 예외입니다.
public class MyCustomException : Exception
public class FooException : Exception