allgemein
objekt-orientierter entwurf
programmierung
qualitätssicherung / testen

Programiersprache  Java 
Schwierigkeitsgrad  schwierig 
Eingereicht von  Sascha Frick 
Veröffentlicht am  28.03.2005  
Lösung veröffentlicht am   12.04.2005 

Der bugTeaser

public class ModelChangeLogger {

  public ModelChangeLogger(Model model) {
    model.addListener(
      new IModelChangeListener() {
        public void onChange(Event e) {
          log(e+"");
        }
      }
    );
  }

  public void log(String msg) {
    // Implementation nicht von Belang
    ... 
  }

}


Anmerkungen

Instanzen der Klasse ModelChangeLogger werden dazu verwendet, Modelländerungen zu protokollieren. Hierzu wird bei der Erzeugung einer ModelChangeLogger-Instanz das gewünschte Model angegeben.

Der Code compiliert und ist lauffähig, enthält aber einen Fehler, bei dem es sich um eine Zeitbombe handelt; er kann je nach Verwendungsszenario sehr lange unentdeckt bleiben.

Über diesen bugTeaser diskutieren.



#006: Selbstbetrug #004: Die Referenzfalle

Druckbare Version