Variable globale - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En programmation informatique, une variable globale est une variable déclarée à l'extérieur du corps de toute fonction ou classe, et pouvant donc être utilisée n'importe où dans le programme. On parle également de variable de portée globale.

Exemple de variable globale en langage C++

      #include              int global = 3; // Une variable globale             void ChangeGlobal()      {         global = 5; // Référence à la variable globale à l'intérieur d'une fonction      }             int main()      {         std::cout << global << '\n'; // Référence à la variable globale dans une autre fonction         ChangeGlobal();         std::cout << global << '\n';         return 0;      }      

La variable étant globale, il n'est pas nécessaire de la passer comme paramètre pour l'utiliser dans les fonctions. La variable globale appartient à toutes les fonctions du programme.

La sortie sera :

      3      5      

Langages sans variables globales

L'environnement de développement Gambas (clone GNU de Visual Basic) n'admet pas de variables globales. Cependant, une variable quelconque déclarée PUBLIC y devient accessible depuis tout le projet.

Les langages fonctionnels purs, comme Haskell, n'ont pas de variables du tout, et donc n'ont pas de variables globales.

Avantages et inconvénients

Avantages

Les variables globales pouvant être utilisées partout dans un programme sans avoir été transmises préalablement en paramètres de fonction, leur utilisation simplifie la conception et l'écriture de programme.

Inconvénients

Par contre, l'utilisation de ces variables rend plus difficile la compréhension d'un programme ainsi que son débuggage et sa modification ultérieure.

Lors du débuggage, lorsqu'une variable globale contient une information erronée, il est très difficile de trouver la source de l'erreur parce que la variable a pu être modifiée dans n'importe quelle partie du programme.

Lors des modifications apportées à un programme, il est complexe de modifier le traitement d'une variable globale parce qu'il faut comprendre tout le programme pour savoir comment la variable était traitée dans le programme original, étant donné que la variable peut être modifiée depuis n'importe quelle fonction.

Lors de l'écriture de bibliothèques logicielles, les variables globales empêchent la réentrance si elles sont mal utilisées (c'est souvent le cas). C'est pourquoi il est recommandé de ne pas les utiliser pour l'écriture de bibliothèques.

Recommandations

Les inconvénients des variables globales étant plus grands que ses avantages, il est déconseillé d'utiliser ce type de variables dans la conception de programmes, et de leur préférer l'utilisation de variables locales (ou de singletons avec accesseurs si l'aspect global est impératif).

Malheureusement, certains programmeurs ont recours à ces variables globales pour accélérer les premières phases du développement d'un programme. Ils en paient souvent le prix lorsque vient le temps de corriger leur programme ou de le modifier pour l'adapter aux nouveaux besoins de leur client.

Page générée en 1.688 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise