En un código pequeño, podemos rastrear valores de variables globales. Pero si el tamaño del código crece, hacen que el código sea menos comprensible (por lo tanto, menos mantenible). Se vuelve difícil rastrear qué función modificó el valor y cómo.
C++
// A C++ program to demonstrate that a // global variables make long code less // maintainable. int c = 1; int fun1() { // 100 lines of code that // may modify c and also // call fun2() } void fun2() { // 100 lines of code that // may modify c and also // call fun1() } void main() { // 1000 lines of code c = 0; // 1000 lines of code // At this point, it becomes difficult // to trace value of c if (c == 1) cout << "c is 1" << endl else cout << "c is not 1 << endl }
- En el código anterior, notamos uno de los mayores problemas de la variable global que es la depuración . Significa que si tratamos de averiguar dónde ha cambiado esa variable c entre miles de líneas de código es un trabajo muy difícil.
- En un entorno de subprocesos múltiples, una variable global puede cambiar más de una vez (en diferentes órdenes de ejecución) y causar más problemas.
- Las variables globales se utilizan generalmente para las constantes. No se recomienda usarlos para valores no constantes.