• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Zmienna globalna

    Przeczytaj także...
    Wątek (ang. thread) – część programu wykonywana współbieżnie w obrębie jednego procesu; w jednym procesie może istnieć wiele wątków.Rekurencja, zwana także rekursją (ang. recursion, z łac. recurrere, przybiec z powrotem) to w logice, programowaniu i w matematyce odwoływanie się np. funkcji lub definicji do samej siebie.
    Klasa abstrakcyjna w programowaniu obiektowym jest to klasa, która nie może mieć swoich reprezentantów pod postacią obiektów. Zależnie od użytego języka programowania klasy abstrakcyjne tworzy się na różne sposoby.

    Zmienna globalnazmienna istniejąca przez cały czas życia programu i widziana z wielu miejsc w programie.

    Nadużywanie zmiennych globalnych może prowadzić do poważnych problemów, takich jak:

  • w przypadku programów wielowątkowych, zmienna taka może być modyfikowana przez dowolny wątek, co prowadzić może do nieokreśloności przy braku synchronizacji wątków.
  • jeśli funkcja używa zmiennej globalnej jako zmiennej pomocniczej, niemożliwe może być jej rekursywne wywołanie
  • zmienne globalne zaśmiecają przestrzeń nazw, w niektórych architekturach może to doprowadzić do przepełnienia stosu
  • na działanie danej części kodu może mieć wpływ kod zupełnie niezwiązany, o ile oba używają tej samej zmiennej globalnej i jeden z nich ją modyfikuje.
  • zmienne globalne mogą kolidować ze zmiennymi lokalnymi (te drugie przesłaniają zmienne globalne o ile posiadają identyczne nazwy).
  • Do zalecanych rozwiązań należą:

    Przepełnienie stosu - w oprogramowaniu komputerowym występuje, gdy rozmiar stosu przekroczy ilość pamięci zarezerwowanej dla niego. Maksymalny rozmiar stosu jest zwykle ograniczony i ustalany na początku działania programu i zależy od języka programowania, komputera i ilości dostępnej pamięci, najczęściej jest rzędu 1 MB. Skutkiem przepełnienia stosu, gdy nie przygotowano programu na tę okoliczność jest nagłe przerwanie jego działania. Do przepełnienia stosu dochodzi gdy wywoływane jest zbyt wiele funkcji (które ciągle wywołują kolejne) albo gdy funkcja potrzebuje zbyt wiele pamięci na zmienne lokalne.PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.
  • używanie zmiennych statycznych o ograniczonym zakresie widoczności, takich jak zmienne static w C - zapobiega niepożądanym interakcjom
  • zamykanie zmiennych globalnych jako pól statycznych w klasach (najczęściej w klasach abstrakcyjnych)
  • zabezpieczanie dostępu do zmiennych globalnych blokadami.
  • przerobienie programu tak, żeby korzystał z mniejszej liczby zmiennych globalnych.
  • nazywanie zmiennych globalnych w sposób uniemożliwiający kolizję nazw (jest to obowiązkowe w Ruby), lub też deklarowanie w każdej funkcji z których zmiennych globalnych ona korzysta (PHP).
  • W wielu sytuacjach nie da się uniknąć istnienia zmiennych globalnych - np. w programach języka C przeznaczonych na architektury nie posiadające możliwości dynamicznej alokacji pamięci. Stosowanie tam zmiennych globalnych jest jedynym możliwym sposobem na przekazanie większej liczby parametrów z jednej funkcji do drugiej.

    Synchronizacja (z stgr. σύγχρονος synchronos - równoczesny) – koordynacja w czasie, co najmniej dwóch zjawisk (procesów), tzn. dążenie do równoległego, niezależnego ich przebiegu, skoordynowanego w czasie lub do jednoczesnego ich zakończenia. Pojęcie synchronizacji występuje w fizyce, informatyce, elektronice, telekomunikacji, robotyce, multimediach (np. synchronizacja dźwięku z obrazem), muzyce i ekonomii (synchronizacja cykli koniunkturalnych).Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto (pseudonim Matz). W języku angielskim ruby oznacza rubin.

    Niektóre języki programowania domyślnie po utworzeniu zmiennej przyjmują, że jest to zmienna o zakresie globalnym - czyli widoczna w dowolnym miejscu programu.

    Zobacz też[ | edytuj kod]

  • zmienna statyczna




  • Warto wiedzieć że... beta

    W programowaniu obiektowym klasa jest częściową lub całkowitą definicją dla obiektów. Definicja obejmuje dopuszczalny stan obiektów oraz ich zachowania. Obiekt, który został stworzony na podstawie danej klasy nazywany jest jej instancją. Klasy mogą być typami języka programowania - przykładowo, instancja klasy Owoc będzie mieć typ Owoc. Klasy posiadają zarówno interfejs, jak i strukturę. Interfejs opisuje, jak komunikować się z jej instancjami za pośrednictwem metod, zaś struktura definiuje sposób mapowania stanu obiektu na elementarne atrybuty.
    Przestrzeń nazw (ang. namespace) – abstrakcyjne uniwersum, którego elementami mogą być nazwy, terminy techniczne lub słowa. W obrębie dowolnej przestrzeni nazw każda nazwa musi być niepowtarzalna. Przestrzeń nazw jest kontekstem, w którym słowo może być jednoznacznie przypisane do reprezentowanego przez nie pojęcia ze świata rzeczywistego.
    Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.
    Zmienna statyczna - w programowaniu jest to zmienna, która w danym bloku programu posiada dokładnie jedną instancję i istnieje przez cały czas działania programu. W języku C++ każda zmienna globalna jest jednocześnie zmienną statyczną.
    C – imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.
    Oprogramowanie (ang. software) – całość informacji w postaci zestawu instrukcji, zaimplementowanych interfejsów i zintegrowanych danych przeznaczonych dla komputera do realizacji wyznaczonych celów. Celem oprogramowania jest przetwarzanie danych w określonym przez twórcę zakresie. Oprogramowanie to dział informatyki. Oprogramowanie jest synonimem terminów program komputerowy oraz aplikacja, przy czym stosuje się go zazwyczaj do określania większych programów oraz ich zbiorów.
    Zmienna - konstrukcja programistyczna posiadająca trzy podstawowe atrybuty: symboliczną nazwę, miejsce przechowywania i wartość; pozwalająca w kodzie źródłowym odwoływać się przy pomocy nazwy do wartości lub miejsca przechowywania. Nazwa służy do identyfikowania zmiennej w związku z tym często nazywana jest identyfikatorem. Miejsce przechowywania przeważnie znajduje się w pamięci komputera i określane jest przez adres i długość danych. Wartość to zawartość miejsca przechowywania. Zmienna zazwyczaj posiada również czwarty atrybut: typ, określający rodzaj danych przechowywanych w zmiennej i co za tym idzie sposób reprezentacji wartości w miejscu przechowywania. W programie wartość zmiennej może być odczytywana lub zastępowana nową wartością, tak więc wartość zmiennej może zmieniać się w trakcie wykonywania programu, natomiast dwa pierwsze atrybuty (nazwa i miejsce przechowywania) nie zmieniają się w trakcie istnienia zmiennej. W zależności od rodzaju języka typ zmiennej może być stały lub zmienny. Konstrukcją podobną lecz nie pozwalającą na modyfikowanie wartości jest stała.

    Reklama

    Czas generowania strony: 0.703 sek.