- globale Variablen sind evil.
- wenn schon, dann:
als private Attribute
mit set/get
-Methoden,
und set
sehr sehr sparsam verwenden
- much better:
falls ein Unterprogramm eine globale Variable liest,
dann soll es diese als zusätzlichen Parameter erhalten.
erleichtert Wiederverwendung! Richtlinie:
- eine Software-Komponente sollte keinen
impliziten Zustand haben.
(d. h. nicht von Variablenbelegungen abhängen).
- falls doch Zustand nötig, dann Zustands-Objekt
definieren und dem Anwender in die Hand geben.
Beispiel: Brettspiel:
- nicht eine globale Variable ,,das Spielbrett``,
und Prozedur
void put (Zug z)
ändert das,
- sondern ein Typ
Brett
und Funktion Brett put (Brett b, Zug z)
Johannes Waldmann
2007-06-13