C # 프로그래밍 언어에서 변수의 명명 규칙 [닫기]


10

C #에서 변수에 관한 비디오를보고 있습니다. 작성자는 메소드 내부에 변수를 선언하고 다음과 같이 이름을 지정했습니다. string MyName = "James";

내 질문은 : .Net Framework에서 권장하는 규칙입니다. 위의 예와 같이 파스칼 케이스입니까, 아니면 낙타 경우입니까?


당신이 알지 못했기 때문에이 질문에 대한 문제는 실제로 C #에 대한 표준 규칙이 없다는 것입니다. 공통된 규칙이 있습니다. 불행히도 둘 이상이지만, 순수한 의견이 아닌 여기에 답변을 얻는 것이 매우 어려울 것입니다. 죄송합니다. 마감 투표; 내 제안 : 인기있는 github 및 codeplex 리포지토리에서 코드를 읽는 데 시간을 투자하여 인기있는 것들을 쓰는 사람들이 업계에서 경험하는 사람들이며 일반적으로 볼 수있는 일반적인 규칙에 따라 사용하는 규칙을 확인하십시오.
Jimmy Hoffa


1
@Yusubov 로컬 변수가 아닌 라이브러리의 공용 부분의 이름을 설명합니다.
svick

답변:


26

나는 '공식적인'협약과 같은 것이 없다고 생각합니다. 내가 아는 한 많은 경험이 많은 C # 개발자는 다음을 모범 사례로 간주합니다.

PascalCase for public member variables (string MyName = "James")

camelCase for local variables (string myName = "James")

_leadingUnderscore for private member variables (string _myName = "James")

이 방법을 사용하면 첫 글자의 경우 지역 변수와 공개 및 비공개 멤버를 구분할 수 있습니다.

다른 코딩 규칙과 마찬가지로 개인 선호도도 적용됩니다. 따라서 명확한 답은 없습니다. 일반적인 목표는 코드를 가능한 한 읽기 쉽고 이해하기 쉽게 유지하는 것입니다.


3
+1 이것은 내가 본 스타일에 가깝습니다. 나는 그것이 일반적으로 MSDN의 예제에서 사용 된 스타일에서 가져온 것이라고 생각합니다. 일반적으로 속성을 가져오고 PascalCase, 지역 주민을 받고 camelCase, 개인 회원이을 얻는 것을 _leadingUnderscore봅니다.
KChaloux

멤버 변수를 말할 때 필드 또는 속성을 의미합니까?
Kaser

델파이 개발자들은 함수 / 메소드 파라미터에 접두사 'a'를 붙여서 이름을 짓는 경향이 (aParameter: string)있습니다. 매개 변수는 본질적으로 로컬 변수이며 특히 값으로 전달 될 때 변수가 실제로 매개 변수로 전달되는 것을 "보는"것이 매우 유용합니다. C #에 그러한 규칙이 있습니까?
Marjan Venema

그리고 다른 하나는 멤버 필드입니다. 델피 안은 그들 앞에 'F'를 붙인다. 밑줄로 선언하는 C # 코드를 보았습니다 private string _SomeString. 이것이 컨벤션이라고 말 하시겠습니까? (발가락을 C #에 담그고 이것에 대해 궁금해합니다).
Marjan Venema 2012 년

1
정확하지 않습니다. 공개 멤버 (및 공개 클래스 등)에 대한 공개 명명 규칙이 있습니다.
svick

7

.Net Framework 명명 규칙 ( v4.5 , v1.1 )은 이에 대해 무시됩니다. 지역 변수 이름 지정에 대한 표준을 지정하지 않습니다. 당신은 이것들을 명명하기 위해 당신의 자신의 컨벤션을 결정해야 할 것입니다.

나는 개인적으로 camelCase를 사용하고 this필요할 때 매개 변수 이름에서 멤버 변수를 명확하게 합니다. 그러나 밑줄 (예 :) _memberVariable도 유효합니다.


1
이것이 바로 this지역별 변수를 필드 / 속성과 구별하기 위해 명명 규칙을 사용하는 이유입니다 . 매번 5 개의 추가 문자가 너무 많습니다.
Sinatr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.