Hallo,
mir kommen in der Arbeit immer wieder einige Sourcecode-Konstrukte unter, die ich nicht "schön" finde. Aber manchmal bin ich mir auch nicht sicher, ob meine Version besser ist. Hier für den Anfang einmal zwei Beispiele. Mich würde interessieren was ihr davon haltet. Ach ja, die Beispiele sind aus der Java-Welt.
1. private static final String FOOBAR = "...";
- macht das static hier Sinn?
- die Namenskonvention ist bei statischen Variablen meines Wissens, dass man alles groß schreibt, ist das in diesem Fall auch noch richtig?
2. Null-Prüfung bei Objekthierarchie
Angenommen man hat eine eine Objekthierarchie und will den Wert eines Kindobjekts auslesen, z.B.
object1.getObject2().getObject3().getObject4().getValue()
Jedoch ist nicht sichergestellt, dass object2 - 4 nicht null sind. Wie würdet ihr das abprüfen? Hier zwei Möglichkeiten, so wirklich glücklich bin ich aber mit beiden nicht:
Vielleicht kann man die Sachen auch gar nicht pauschal lösen, würde mich aber trotzdem über eure Meinungen freuen!
Gruß
flo
mir kommen in der Arbeit immer wieder einige Sourcecode-Konstrukte unter, die ich nicht "schön" finde. Aber manchmal bin ich mir auch nicht sicher, ob meine Version besser ist. Hier für den Anfang einmal zwei Beispiele. Mich würde interessieren was ihr davon haltet. Ach ja, die Beispiele sind aus der Java-Welt.
1. private static final String FOOBAR = "...";
- macht das static hier Sinn?
- die Namenskonvention ist bei statischen Variablen meines Wissens, dass man alles groß schreibt, ist das in diesem Fall auch noch richtig?
2. Null-Prüfung bei Objekthierarchie
Angenommen man hat eine eine Objekthierarchie und will den Wert eines Kindobjekts auslesen, z.B.
object1.getObject2().getObject3().getObject4().getValue()
Jedoch ist nicht sichergestellt, dass object2 - 4 nicht null sind. Wie würdet ihr das abprüfen? Hier zwei Möglichkeiten, so wirklich glücklich bin ich aber mit beiden nicht:
Code:
if(object1.getObject2() != null) {
Object2 object2 = object1.getObject2();
if(object2.getObject3() != null) {
Object3 object3 = object2.getObject3();
if(object3.getObject4() != null) {
Object4 object4 = object3.getObject4();
} else {
}
} else {
}
} else {
}
Code:
Object2 object2 = object1.getObject2();
if(object2 == null) {
return;
}
object3 = object2.getObject3();
if(object3 == null) {
return;
}
Vielleicht kann man die Sachen auch gar nicht pauschal lösen, würde mich aber trotzdem über eure Meinungen freuen!
Gruß
flo