C#에서 private 멤버의 이름을 지을 때 어떻게 짓고 계신가요?
처음엔 _ + 카멜 케이싱 으로 하다가
깃 코파일러 같은 자동 완성이 종종? 대부분? 카멜 케이싱으로 표시 될 때가 있어
추후 프로젝트부터는 언더 바를 빼야겠다는 생각을 하고 있는데…
혹시 주로 어떻게 짓고 계신가요?
그리고 private const 형 변수의 이름도 카멜로 하는지 파스칼로 하시는지 궁금합니다.
C#에서 private 멤버의 이름을 지을 때 어떻게 짓고 계신가요?
처음엔 _ + 카멜 케이싱 으로 하다가
깃 코파일러 같은 자동 완성이 종종? 대부분? 카멜 케이싱으로 표시 될 때가 있어
추후 프로젝트부터는 언더 바를 빼야겠다는 생각을 하고 있는데…
혹시 주로 어떻게 짓고 계신가요?
그리고 private const 형 변수의 이름도 카멜로 하는지 파스칼로 하시는지 궁금합니다.
C#에서 private 멤버의 이름
_ + 카멜 케이싱
으로 합니다. 지역 변수(카멜 케이싱)와 구별하기 위해서.
private const 형 변수의 이름은 대개 대문자와 '_'로 연결합니다. c의 const 흉내내서.
저도 leechw9님 동일하게 사용중입니다.
저는 아래 가이드 라인을 준수합니다.
private
필드는 높은 확률로 지역 변수 이름이나 메서드 매개 변수 이름과 겹칠 수 있고, 이 때 실수가 많이 발생합니다.
private int x;
private int _y;
public Point(int x, int y)
{
x = x; // 실수 가능성
this.x = x; // this 사용 지양
_y = y;
}
이러한 오류를 미연에 방지하고, 코드 전반에 this
키워드를 사용하지 않도록 하기 위해 _
를 붙이고 있습니다.
private const
필드의 경우 컴파일 시 변수 명이 실제 값으로 치환된다는 관점(개인적)에서 _
로 분리된 전체 대문자를 사용합니다.
private const double SPEED_OF_LIGHT = 299792458;
이외의 경우는 일반 규칙에 따라 static readonly
속성으로 노출 될 경우 파스칼 케이스를, static readonly
필드는 카멜 케이스를 사용합니다.
public static double SpeedOfLight { get; } = 299792458; // readonly
private static readonly double _speedOfLight = 299792458;
저도 이쪽입니다.
처음엔 좀 혼용했었는데,
resharper 기본 사양이기도 하고… 그냥 거기 적응하니 편하길래 ㅎㅎ
private 멤버와 public property를 연결할 때에도 같은 이름에 "_"가 있는지로 구분할 수 있고 찾기 쉬워 private 멤버는 "_"를 붙인 카멜 케이스를 사용합니다.
private string _Content = string.empty;
public string Content
{
get { return _Content; }
set { _Content = value; }
}