Questa è una regola di stile tra molte e non è necessariamente la regola più importante di tutte le possibili regole che potresti prendere in considerazione. Il tuo esempio, dal momento che include un int, non è super-convincente, ma potresti certamente avere un oggetto costoso da costruire all'interno di quel ciclo, e forse un buon argomento per costruire l'oggetto al di fuori del ciclo. Tuttavia, questo non lo rende un buon argomento contro questa regola dato che, in primo luogo, ci sono tonnellate di altri posti che potrebbe applicare che non implicano la costruzione di oggetti costosi in un ciclo, e in secondo luogo, un buon ottimizzatore (e tu hai taggato C #, quindi hai un buon ottimizzatore) puoi sollevare l'inizializzazione dal ciclo.
La vera ragione di questa regola è anche la ragione per cui non vedi perché è una regola. Le persone erano solite scrivere funzioni che erano centinaia, anche migliaia di righe e che usavano scriverle in editor di testo semplice (si pensi al Blocco note) senza il tipo di supporto fornito da Visual Studio. In quell'ambiente, dichiarare una variabile a centinaia di linee lontano da dove è stato usato significava che la persona che leggeva
if (flag) limit += factor;
non aveva molti indizi su cosa fossero bandiera, limite e fattore. Le convenzioni di denominazione come la notazione ungherese sono state adottate per aiutare con questo, e quindi c'erano regole come dichiarare le cose vicino a dove sono usate. Ovviamente, in questi giorni, si tratta di refactoring e le funzioni sono in genere meno lunghe di una pagina, rendendo difficile ottenere molta distanza tra dove vengono dichiarate le cose e dove vengono utilizzate. Stai operando in un intervallo compreso tra 0-20 e quibbling che forse 7 è ok in questa particolare istanza, mentre il tizio che ha fatto la regola avrebbe dovuto LOVED ottenere 7 linee e stava cercando di parlare con qualcuno a partire da 700. E su in cima a ciò, in Visual Studio, puoi scorrere il mouse su qualsiasi cosa e vedere il suo tipo, è una variabile membro e così via. Ciò significa che è necessario vedere la riga che la dichiara ridotta.
È ancora una regola abbastanza buona, una che in realtà è piuttosto difficile da rompere in questi giorni e una che nessuno ha mai sostenuto come motivo per scrivere codice lento. Sii sensibile, soprattutto.