Jest to jedna z wielu stylów i niekoniecznie najważniejsza z wszystkich możliwych reguł, które możesz wziąć pod uwagę. Twój przykład, ponieważ zawiera int, nie jest zbyt przekonujący, ale z pewnością możesz mieć w tej pętli kosztowny do zbudowania obiekt i być może dobry argument na rzecz konstruowania obiektu poza pętlą. Nie oznacza to jednak, że jest to dobry argument przeciwko tej regule, ponieważ po pierwsze, istnieje mnóstwo innych miejsc, które można zastosować, które nie wymagają konstruowania drogich obiektów w pętli, a po drugie, dobry optymalizator (i otagowałeś C #, więc masz dobry optymalizator) może wyciągnąć inicjalizację z pętli.
Prawdziwym powodem tej reguły jest również powód, dla którego nie rozumiesz, dlaczego jest to reguła. Ludzie pisali funkcje o długości setek, a nawet tysięcy linii i pisali je w edytorach zwykłego tekstu (myślę w Notatniku) bez wsparcia Visual Studio. W tym środowisku zadeklarowanie zmiennej setki linii poza miejscem jej użycia oznaczało, że osoba czytająca
if (flag) limit += factor;
nie miałam wielu wskazówek na temat tego, jaka była flaga, limit i czynnik. Aby pomóc w tym celu, przyjęto konwencje nazewnictwa, takie jak notacja węgierska, a także zasady, takie jak deklarowanie rzeczy w pobliżu miejsca ich użycia. Oczywiście w dzisiejszych czasach chodzi przede wszystkim o refaktoryzację, a funkcje są zwykle krótsze niż strona, co utrudnia uzyskanie bardzo dużej odległości między tym, co deklaruje się a tym, gdzie są używane. Działasz w przedziale od 0 do 20 i spierasz się, że w tym konkretnym przypadku może 7 jest w porządku, podczas gdy facet, który wprowadził regułę, UWIELBIAŁby, aby uzyskać 7 linii i próbował przekonać kogoś z 700. I dalej co więcej, w Visual Studio możesz najechać myszką na dowolny przedmiot i zobaczyć jego typ, czy jest to zmienna składowa itd. Oznacza to, że trzeba zobaczyć linię deklarującą, że jest zmniejszona.
Nadal jest to dość dobra zasada, która w dzisiejszych czasach jest dość trudna do złamania, i której nikt nigdy nie zalecał jako powód do pisania wolnego kodu. Bądź przede wszystkim rozsądny.