이것은 많은 스타일 중에서 하나의 스타일 규칙이며, 고려할 수있는 모든 가능한 규칙 중 가장 중요한 규칙은 아닙니다. 귀하의 예제에는 int가 포함되어 있기 때문에 강력하지는 않지만 루프 내부에 고가의 객체가있을 수 있으며 루프 외부에 객체를 구성하는 데 좋은 인수가 될 수 있습니다. 그러나 이것이 처음부터이 규칙에 대한 좋은 주장이되지는 않습니다. 적용 할 수있는 다른 많은 장소가 있습니다. 루프에 고가의 객체를 구성하지 않는 것이 좋습니다. C #, 그래서 당신은 좋은 옵티 마이저를 가지고) 루프에서 초기화를 들어 올릴 수 있습니다.
이 규칙의 실제 이유는 규칙이 왜 그런지 알 수없는 이유이기도합니다. 사람들은 수백 줄, 심지어 수천 줄에 달하는 함수를 작성했으며 Visual Studio가 제공하지 않는 일반 텍스트 편집기 (메모장 생각)로 작성했습니다. 그 환경에서, 사용 된 곳에서 수백 줄 떨어진 곳에 변수를 선언하면
if (flag) limit += factor;
깃발, 한계 및 요인이 무엇인지에 대한 단서가 많지 않았습니다. 이를 위해 헝가리 표기법과 같은 명명 규칙이 채택되었으며, 사용 장소에 가까운 것을 선언하는 것과 같은 규칙이 적용되었습니다. 물론 요즘에는 리팩토링이 중요하며 함수는 일반적으로 페이지 길이보다 짧아서 선언되는 위치와 사용되는 위치 사이의 거리가 매우 멀어집니다. 당신은 0-20의 범위에서 운영하고 있으며이 특별한 경우 7은 괜찮을 것입니다. 규칙을 만든 사람은 7 줄을 없애고 700에서 누군가와 이야기하려고했습니다. 무엇보다도 Visual Studio에서는 모든 항목 위로 마우스를 가져 가서 유형을 볼 수 있으며 멤버 변수 등입니다. 그것은 그것을 선언하는 줄을 볼 필요성이 줄어든다는 것을 의미합니다.
그것은 여전히 합리적으로 좋은 규칙이며, 요즘 실제로 어려워하기 어려운 규칙이며 느린 코드를 작성하는 이유로 아무도 옹호하지 않은 규칙입니다. 무엇보다도 현명해야합니다.