Global Variablen
-
- User
- Beiträge: 8
- Registriert: Samstag 29. Juli 2017, 16:37
Warum sagen so viele Leute ,dass man Globale Var. vermeiden solle?
Weil es wahr ist. Physiker sind aber ausgenommen, die können eh nicht programmieren. *wegduck*
- noisefloor
- User
- Beiträge: 4160
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
weil globalen Variablen es extrem schwierig machen, den Zustand eines Programms nachzuvollziehen. Unter Python ist es so, dass wenn du `global` im Quelltext siehst, zu 99,9% davon ausgehen kann, dass das ganz unsauber programmiert ist.
Gruß, noisefloor
weil globalen Variablen es extrem schwierig machen, den Zustand eines Programms nachzuvollziehen. Unter Python ist es so, dass wenn du `global` im Quelltext siehst, zu 99,9% davon ausgehen kann, dass das ganz unsauber programmiert ist.
Gruß, noisefloor
Stell die Frage mal andersherum: Welche Vorteile hast du durch die Verwendung von globalen Variablen?computatrum physicus hat geschrieben:Warum sagen so viele Leute ,dass man Globale Var. vermeiden solle?
Und denk bitte bei der Antwort daran, dass du einzelne Funktionen vielleicht auch mal in anderer Reihenfolge oder einem anderen Kontext aufrufen möchtest als du dir das zuerst gedacht hast.
Globale Variablen machen den Code schwerer verständlich weil man nicht mehr Funktionen einzeln betrachten kann sondern immer schauen muss welche Funktionen noch und in welcher Reihenfolge die globale Variable(n) benutzen oder verändern. Man koppelt damit Funktionen auf eine intransparente Art und Weise.
Funktionen kann man deshalb auch schlecht isoliert testen, weil man immer auch Zustand ausserhalb der Funktion berücksichtigen muss.
Das macht die Fehlersuche unnötig schwerer.
Durch die Abhängigkeit zu globalen Variablen kann man Funktionen auch nicht so einfach in ein anderes Modul verschieben oder wiederverwenden.
Funkionen die globale Variablen verwenden, kann man nicht sicher nebenläufig verwenden.
Funktionen kann man deshalb auch schlecht isoliert testen, weil man immer auch Zustand ausserhalb der Funktion berücksichtigen muss.
Das macht die Fehlersuche unnötig schwerer.
Durch die Abhängigkeit zu globalen Variablen kann man Funktionen auch nicht so einfach in ein anderes Modul verschieben oder wiederverwenden.
Funkionen die globale Variablen verwenden, kann man nicht sicher nebenläufig verwenden.