참으로 내가 두 번째 "유모 상태 compilerism"설명을 할 필요가있다. 흥미로운 점은 이것이 괜찮다는 것입니다.
for (int i = 0; i < 10; i++)
{
}
for (int i = 0; i < 10; i++)
{
}
이 확인
for (int i = 0; i < 10; i++)
{
}
for (int j = 0; j < 10; j++)
{
var i = 12;
}
이지만 그것은 모든 조금 일관성의이
for (int i = 0; i < 10; i++)
{
var k = 12;
}
for (int i = 0; i < 10; i++)
{
var k = 13;
}
을 할 수 있지만이
for (int i = 0; i < 10; i++)
{
var x = 2;
}
var x = 5;
도 없습니다. 아래의 에릭과의 의견 교환을 바탕으로
편집, 내가 루프를 처리하려고 어떻게 보여 도움이 될 줄 알았는데. 가능할 때마다 루프를 자체 메서드로 작성하려고합니다. 가독성을 높이기 때문에이 작업을 수행합니다.
BEFORE
/*
* doing two different things with the same name is unclear
*/
for (var index = 0; index < people.Count; index++)
{
people[index].Email = null;
}
var index = GetIndexForSomethingElse();
AFTER 가입일
/*
* Now there is only one meaning for index in this scope
*/
ClearEmailAddressesFor(people); // the method name works like a comment now
var index = GetIndexForSomethingElse();
/*
* Now index has a single meaning in the scope of this method.
*/
private void ClearEmailAddressesFor(IList<Person> people)
{
for (var index = 0; index < people.Count; index++)
{
people[index].Email = null;
}
}
오히려 안전 벨트 법과 비슷합니다. 당신이없는 자동차를 운전할 수없는 기술적 인 이유는 없지만, 매우 불쾌한 충돌로부터 당신을 구할 수 있기 때문에 법을 지키는 것이 좋습니다. –