Frage zu globalen Variablen
-
Hi,
es gibt darauf kaum keine allgemeingültige Antwort. Als Faustregel gilt:
Mache den Gültigkeitsbereich Deine Variable so klein wie möglich und so groß wie nötig.
Jede Erweiterung des Scopes birgt die Gefahr, Seiteneffekte zu erzeugen, die schwer zu beherschen sind (Beispiel Multithreading). Was nun notwendig ist. hängt ganz vom Design und der Aufgabenstellung ab. Hier eine allgemeingültige Antwort zu liefern ist nicht möglich.
Es gibt durchaus Fälle, wo man um globale Variablen nicht herumkommt:
- Einem Interupthandler kann man keine Parameter übergeben.
- Bei Ereignisgesteuerten Umgebungen hängt dies auch davon ab, was die Bibliothek hergibt.
- Gleiches gilt z.B. für Callbacks. Der Vergleichsfunktion von qsort kannst Du beispielsweise keine Parameter übergeben.
- Performanzüberlegungen könnten natürlich auch eine Rolle spielen.
mfg Martin