Ich hatte im Projekt konkret das Beispiel dass Daten (von Datum) hin und her geparsed wurden, mit Hilfe einer Utility Klasse. Die Daten kamen natürlich aus einer Datenbank und lagen dann meistens als Strings in den Objekten. Dazu auch nicht einheitlich, also z.B. als Timestamp, Datum String, Date Objekt, mit Uhrzeit, ohne Uhrzeit usw.
Da stellt sich mir dann die Frage warum nicht jedes Datum einheitlich gespeichert wird, z.B. als Timestamp und beim auslesen dann immer in ein Date Objekt umgewandelt wird, so dass alle Methoden zum objekt gehören:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
class Datum{
private long timestamp;
public String toString(){}
}
// statt:
class DatumUtil{
public static Date parseDate(String ganzVieleFormate);
public static String toString(Date datum){}
}
|
Mal stark vereinfach geschrieben. Die Utility Klasse hat 40-50 statische Methoden für diesen Kram. Darauf bezog sich zumindest mein Beispiel für falschen Einsatz von static.
Das sind aber grundlegende Designfehler im ganzen Projekt, überhaupt dass so viel mit String gearbeitet wird...
static hat natürlich seine Berechtigung, das sehe ich so wie die Poster vor mir.