이 프로젝트 I was hit me 에 최근 작업을 하고 있습니다. 대부분의 사람들은 익숙한 속성 반복.
public int Test
{
get { return this.test; }
set { this.Test = value; }
}
private int test;
그러나 최근 한 구성자를 유사물 내가 했어요.
public TestClass(int test)
{
this.Test = Test;
}
>. 이, 이봐, 정말 중요한 " " 깜박하셨다고 현장!
이러한 종류의 행동 피하기 위해 어떤 조치를 취해야 합니까? # 39 는 항상 있었다 "며 i&, ve, 난 그 마음에 대해 다음과 같은 com/go/4e6b330a_kr 정의점에 don& # 39, 하지만 난 개인적으로 can& # 39, 기타 모든 옵션을 것 같지는 않다.
private int _test;
private int mTest;
편집
제가 하는 이유 밑줄 또는 m 접두어입니다 는 일반적으로 생각할 수 있는 것은 다음과 같습니다.
가독성을 -
&Quot, 자동 구축됩니까 properties" 최선의 방법을 사용할 수 있습니다. 여기.
public int Test { get; set; }
사용할 수 없는 경우, 자동 구현됩니까 " properties". 몇 가지 이유로 _' 접두어입니다 사용하여 ' (I don& 표시되어도 포지셔닝하십시오 # 39, t).
또한, 일부 경우 접두사, 그러면 다른 옵션을 사용할 수 있는 t # 39 don& 포지셔닝하십시오. # 39, 너회가 don& 속성 코드를 직접 손을 쓰지 않을 수 없다. 자 그럼 IDE do it for you. 부주의한 실수가 이쪽요 피할 수 있습니다. (내가 모르는 내가 어떻게 누락했습니다 don& # 39, 이 편지는 이 답)
그냥 유형
private int test;
현장에서 선택, 캡슐화됨 필드이므로 Refactor-> 마우스 오른쪽 단추로 클릭합니다. IDE 는 아래와 같이 당신꺼에요 스니핏 발령합니다 속성.
public int Test
{
get { return test; }
set { test = value; }
}
Get a 리샤퍼 너회의 어리석은 실수를 하면 그 즉시 또는 점.
>. 통합 테스트를 통과한 모든
그들은 weren& t # 39, 전체 충분한 테스트를. # 39 there& 오류가 있는 경우, s, t # 39 wasn& 발견한 후 테스트를 you& # 39, ve got 다른 테스트하려면 쓰기.
명명 규칙을, 심지어 같은 도구를 사용하여 정의할 수 있는 스티리코프 시도를 그 기준을 적용할 수 있습니다. 아마도 빽이라는 수 있는 많이유 표시되어도 it& # 39 의 아이온크래드 아닌 솔루션 및 오류를 통해서 얻을 수 있습니다. I agree with you 코드에서 변수 이름을 직접 보기 흉한 꾸미는 것이 있다. # 39 의 경우에 따라 it& 아마도 유효한 하지만?
결국 이러한 종류의 오류를 오토메이티드 테스트를 방어 있습니까. 가장 간단한 테스트를 통해 얻을 수 있는 오류 및 운영 환경에 storagex 의 경우 다음 응답 합니다.
코드를 사용하여 스니핏.
모든 개인 사용자 정의 필드 속성을 사용하여 코드 스니핏 뒷받침됩니다 생성했는지 인텔리 작업을 수행할 수 있도록 해주는 것이 아니라 처음부터 또는 먹어서나 it up (잘못).
결국 이 문제는 아닌 언어에 관한 규칙 및 프로세스 설계. C # 을 비주얼 스튜디오에서 서브페르펙트 경우 특성상 이 중요한 이유는 이러한 실수를 할 수 있는 코드 완성, 아니 우리가 지식 부족 및 디자인.
이 사고와 가능성을 없애기 위해 너회가 베스트중에 bet 슬라이드에서는 길을 갈 것을 미리 정의된 먹어서나 이러한 반복적인 제대로 가장 좋은 방법입니다. 또한 그들을 기억하는 댁꽕 및 적용하는 데 비해 훨씬 더 오토메이티드 손으로.
비주얼 스튜디오에서 엔드입니다 기본 코드 스니핏 있습니다. '유형' 인스턴스 변수 이름 및 속성 및 히트 프로프룰 탭을 클릭하고 대체하십시오 이름과 you& # 39, re 상황보고해 움직일만 합니다.
경우에 따라 세터 및 게터 해결하기 수 없습니다. 하지만 네가 don& # 39, t, t Tell 준수하십시오 할 경우, 세터 및 게터 Don& # 39 하나님께용서를 원칙문제라고 이 때문에 이 일을 할 수 있다고 말한 것은 기본적으로 객체에는 포지셔닝하십시오 있는 데이터를 다른 객체 데이터 개체의 쿼리하여 롯이여 데이터를 다시 작성하여, 의사 결정 및 데이터 오브젝트의. Http://martinfowler.com/bliki/TellDontAsk.html 참조
이 뿐만 아니라 빽이라는 테스트하려면 쓸 수 있어요?
int constructorValue = 4;
TestClass test = new TestClass(constructorValue);
Assert.Equals(test.Test, constructorValue);
하지만 앞으로 빽이라는 교도관님도요 테스트를 위해 즉시 기록할 수 없습니다, ve, 왜안돼요 버그가 흔들림 you& # 39 에서 자신을 보호할 다시?
I need a private 필드 값을 저장할 경우 애디슨에게 파울리스 getter / setter, 난 항상 밑줄 거잖나. 그냥 뭔가 there& # 39 의 밑줄 그 위로 개인 정보 보호!
public string Test
{
get { return _test; }
set { _test = value; }
}
private string _test;