Kowas Wochenshow: Falsch Programmieren, Teil 1

Die fiktive Aufgabenstellung:

Speichern Sie in Ihrem Programm das aktuelle Datum ab (Tag, Monat, Jahr).

„Der Ansatz vieler meiner Studenten“:

[source:java]

d = today.day();
m = today.month();
y = today.year();
date = format(„…“, d, m, y);
[/source]Was kann rauskommen:

  1. Zugriff am 31.12.2005, -0.005 sek –> d = 31
  2. Zugriff am 31.12.2005, -0.001 sek –> m = 12
  3. Zugriff am 1.1.2006, +0.001 sek –> y = 2006

Somit ergibt sich als Datum: 31.12.2006

Ein Fehler, der mit noch so viel Testen nicht auffindbar ist.
Die Lösung: das Datum in einem Aufruf/Objekt holen, und dann sofern nötig selbst zusammenbauen.