Programmzustand ist immer implizit (d. h. unsichtbar).
⇒ jede Zustandsänderung (eines Attributes eines Objektes,
einer Variablen in einem Block) erschwert
- Spezifikation, Tests, Korrektheitsbeweis,
- Lesbarkeit, Nachnutzung.
Code smells:
- Variable wird deklariert, aber nicht initialisiert
(Refactoring: Variable später deklarieren)
- Konstruktor, der Attribute nicht initialisiert
(d. h., der die Klasseninvariante nicht garantiert)
Johannes Waldmann
2012-06-25