Spisu treści:
Definicja - Co oznacza zmienna globalna?
Zmienna globalna to konstrukcja języka programowania, typ zmiennej zadeklarowany poza jakąkolwiek funkcją i dostępny dla wszystkich funkcji w programie. Grupa zmiennych globalnych nazywana jest stanem globalnym lub środowiskiem globalnym, ponieważ w połączeniu definiują różne aspekty programu lub środowiska podczas działania programu. Zmienna globalna jest zwykle deklarowana nad wszystkimi funkcjami i jest ograniczona do minimum, ponieważ wszystkie funkcje mogą nimi manipulować w czasie wykonywania programu, co jest uważane za niebezpieczne przez większość programistów, ponieważ mogą zostać przypadkowo zmienione, co spowoduje błędy.
Techopedia wyjaśnia Global Variable
Zmienne globalne, jak sama nazwa wskazuje, są zmiennymi, które są dostępne globalnie lub wszędzie w całym programie. Po zadeklarowaniu pozostają w pamięci przez cały czas działania programu. Oznacza to, że można je zmienić za pomocą dowolnej funkcji w dowolnym momencie i mogą wpływać na program jako całość. We wczesnych latach komputerów, w których pamięć była bardzo ograniczona, stały się uważane za złą praktykę, ponieważ zajmowały cenne miejsce w pamięci i bardzo łatwo było programiście utracić swoje wartości, szczególnie w długich programach, co prowadzi do błędów, które mogą być bardzo trudno zlokalizować. Kod źródłowy najlepiej rozumieć, gdy zakres jego poszczególnych elementów jest ograniczony, dlatego z powodu braku lokalizacji trudno jest śledzić, gdzie zostały zmienione i dlaczego zostały zmienione.
Nawet przy tym piętnie zmienne globalne są cenne w funkcjach, które nie dzielą relacji „rozmówca i odbiorca”, takich jak procedury obsługi sygnałów i współbieżne wątki. Z wyjątkiem zmiennych globalnych zadeklarowanych jako wartości tylko do odczytu w chronionej pamięci, kody powinny wdrażać odpowiednie enkapsulacje, aby można je było uznać za „bezpieczne dla wątków”.
Wczesne wersje języków niestrukturalnych, takie jak BASIC, COBOL i Fortran, używały tylko zmiennych globalnych. Jednak języki takie jak Lua, Forth i Perl domyślnie używają zmiennych globalnych, podobnie jak większość skryptów powłoki.
