수색…


소개

이 항목에서는 C # 언어로 작성할 때 사용되는 몇 가지 기본 명명 규칙에 대해 설명합니다. 모든 규칙과 마찬가지로 컴파일러에서는 적용하지 않지만 개발자간에 가독성을 보장합니다.

포괄적 인 .NET 프레임 워크 디자인 지침은 docs.microsoft.com/dotnet/standard/design-guidelines를 참조하십시오.

비고

쉽게 읽을 수있는 식별자 이름 선택

예를 들어, HorizontalAlignment라는 속성은 AlignmentHorizontal보다 영어로 읽기 쉽습니다.

간결함보다 가독성 읽기

속성 이름 CanScrollHorizontallyScrollableX (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


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow