Variable globale

Définition - Que signifie la variable globale?

Une variable globale est une construction de langage de programmation, un type de variable déclaré en dehors de toute fonction et accessible à toutes les fonctions du programme. Un groupe de variables globales est appelé état global ou environnement global car, lorsqu'ils sont combinés, ils définissent divers aspects d'un programme ou de l'environnement lors de l'exécution du programme. Une variable globale est généralement déclarée au-dessus de toutes les fonctions et est réduite au minimum, car toutes les fonctions peuvent les manipuler pendant l'exécution du programme, ce qui est considéré comme dangereux par la plupart des programmeurs car elles peuvent être modifiées accidentellement, entraînant des bogues.

Definir Tech explique la variable globale

Les variables globales, comme leur nom l'indique, sont des variables accessibles globalement ou partout dans le programme. Une fois déclarés, ils restent en mémoire tout au long de l'exécution du programme. Cela signifie qu'ils peuvent être modifiés par n'importe quelle fonction à tout moment et peuvent affecter le programme dans son ensemble. Au cours des premières années des ordinateurs où la mémoire était très limitée, ils sont devenus considérés comme une mauvaise pratique car ils occupaient un espace mémoire précieux et il était très facile pour le programmeur de perdre la trace de leurs valeurs, en particulier dans les programmes longs, entraînant des bogues qui peuvent être très difficile à localiser. Le code source est mieux compris lorsque la portée de ses éléments individuels est limitée, donc en raison de leur non-localité, il est difficile de savoir où ils ont été modifiés ou pourquoi ils ont été modifiés.

Même avec cette stigmatisation, les variables globales sont précieuses dans les fonctions qui ne partagent pas une relation «appelant et appelé», comme les gestionnaires de signaux et les threads concurrents. À l'exception des variables globales déclarées en tant que valeurs en lecture seule dans la mémoire protégée, les codes doivent déployer une encapsulation appropriée afin d'être considérés comme «thread-safe».

Les premières versions de langages non structurés comme BASIC, COBOL et Fortran utilisaient uniquement des variables globales. Cependant, des langages comme Lua, Forth et Perl utilisent des variables globales par défaut comme le font la plupart des scripts shell.