No local em que trabalho, há diretrizes explícitas para a colocação de declarações de variáveis. De acordo com isso, é necessário colocá-las no nível global e / ou no início das funções, e não em blocos internos (como um loop for). Como eles foram especificados por pessoas mais experientes do que eu, tenho certeza de que deve haver uma boa razão para isso, mas não consigo descobrir o que possa ser. Seria bom saber se existem vantagens em tempo de compilação / tempo de execução para que sejam declaradas em um escopo maior.