Não é antes ou depois, mas sim fora ou dentro do escopo da função. Fora do escopo de um função elas são chamadas de variáveis globais e são acessíveis por todas as funções do projeto. Dentro de uma função são chamadas de variáveis locais e são acessíveis apenas à função onde ela está declarada. Por motivos de segurança procure sempre declarar as variáveis dentro de uma função e quando precisar dela em outra função passe-a por parâmetro.
Segurança não é a motivação para variáveis locais. O problema é que variáveis globais contribuem para o estado do programa a todo momento. Quanto menos estado você tem em mente quando avalia um pedaço de código (para procurar a causa de um bug, por exemplo), mais fácil e rápido fica para raciocinar sobre aquele pedaço. – Pablo Almeida 8/12/16 às 2:23