문제

이 수업이 있습니다.

class DoSomething
{
    private int timesDone;
    ...
}

변수 'Timesdone'이라는 이름의 올바른 방법은 무엇입니까?

때로는 이름이 지정됩니다 m_timesdone. 이 올바른지? 이름 지침에 대한 정보는 어디에서 찾을 수 있습니까?

고맙습니다!

도움이 되었습니까?

해결책

MS 표준에 따라 코드는 괜찮습니다. ID가 고급화 될 때는 M_로 접두사를 사용하는 것이 실제로 필요하지 않습니다. 그러나 짧은 접두사와 같은 _ 클래스 멤버를 신속하게 정렬하기 위해 자동 완전한 기능을 활용하는 데 사용할 수 있습니다.

"사본을받는 것이 좋습니다."프레임 워크 설계 지침 : 재사용 가능한 .NET 라이브러리를위한 규칙, 관용구 및 패턴"MS 표준에 대한 자세한 내용은 예약

다른 팁

보편적 인 올바른 방법은 없습니다. 당신이 좋아하는 명명 대회를 선택하고 그것을 고수하십시오.

확실히 m_timesdone을 사용하지 마십시오.

단순히 "개인 int timesdone"을 넣으십시오.

Code Complete와 같은 좋은 책을 읽어 변수의 이름을 지정하는 방법에 대해 배울 수 있습니다.

많은 사람들이 당신이 거기에있는 것처럼합니다. 그런 다음 그것을 참조합니다

this.timesDone = someInt

그러나 메소드 매개 변수 이름의 충돌을 피하기 위해 'this'를 입력하는 팬이 아니기 때문에 이것을 좋아하지 않습니다. 읽을 수 있고 일관성이있는 한 괜찮을 것입니다.

M_와의 회원 필드를 선입견하는 협약은 C ++의 초기부터 발생합니다. 헝가리 표기법 인기가있었습니다. C# 컨벤션이 아니며 대부분의 C# 코드는 최근의 Visual Studio를 사용하여 작성되었으므로 어쨌든 변수의 범위를 쉽게 볼 수 있기 때문에 해당 이점없이 시각적 노이즈를 추가합니다. m_를 사용하지 마십시오.

C#에 대한 길을 찾은 헝가리 표기법의 고독한 예는 idisposable과 같은 I와 인터페이스 클래스 이름을 조정하는 연습입니다.

MSDN 사이트에서 직접 정보를 찾을 수 있습니다.http://msdn.microsoft.com/en-us/library/ms229002.aspx

당신이 찾을 수있는 유일한 계약 시점은 ~ 아니다 시간이 지남에 따라 있지만 소문자로 시작해야합니다.
구식 간행물 (MS, MSDN)에서 선도 밑줄의 사용은 권장되지 않습니다. 나중에 다시 돌아 왔습니다. 특히 속성에 대한 Backingfields : _timesdown.

일반적으로 채택되는 전략은 다음과 같습니다.

을 위한 수업 & 방법: 파스칼 케이싱

예를 들어

public class Program
 {
 }

예를 들어

public void DoSomething() { } 

을 위한 변수: 낙타 케이스 예를 들어 타임 다운

로컬 변수 :

   aTimesDown

글로벌 변수 :

myTimesDown

나는 이것이 당신을 도울 수 있기를 바랍니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top