Bedeutungslose Konstanten
🚧 | Diese Seite befindet sich in Bearbeitung | 🚧 |
🤓 | Diese Seite ist eine Bewertungsrichtlinie, die ab Blatt 3 annotiert und ab Blatt 4 abgezogen wird. | 🤓 |
Beschreibung
Zahlen und Zeichenketten (Strings) die fest im Quellcode enthalten sind, sollen als Konstante im Kopf der Klasse deklariert werden. Da diese Konstante im Quellcode verteilt ist, soll deren Bezeichner entsprechend aussagekräftig sein. Dadurch lässt sich auch später der Inhalt der Konstante leichter und vor allem überall gleichzeitig ändern. Sämtliche Regelungen von oben gelten auch für Konstanten.
Negativbeispiel
public class Player {
private final static String FIVE = 5;
private final String name;
private int experience;
public Player(String name) {
this.name = name;
this.experience = 0;
}
public void addExperience(int experienceGained) {
this.experience += (FIVE * experienceGained);
}
}
FIVE besitzt in diesem Fall keine Bedeutung, da wir nicht wissen, wofür es stehen soll. Vergleichbar ist es mit dem weglassen der Einheiten in der Schule: "Fünf was..? Kartoffeln?". In der Methode können wir auch nicht erkennen, wofür die Konstante jetzt eigentlich gebraucht wird, beziehungsweise was sie tut. Und jetzt stellen wir uns mal vor, 5 wäre nicht mehr der korrekte Wert und wir müssten ihn umändern in eine 10. Hinter FIVE den Wert 10 zu "verstecken" wäre schrecklich, insbesondere wenn wir überall im Quellcode jetzt die Konstante von FIVE zu TEN umschreiben müssten... was ein Aufwand.
Positivbeispiel
public class Player {
private final static String EXPERIENCE_MODIFIER = 5;
private final String name;
private int experience;
public Player(String name) {
this.name = name;
this.experience = 0;
}
public void addExperience() {
this.experience += (EXPERIENCE_MODIFIER * experienceGained);
}
}
Hier wissen wir jetzt direkt für was unsere Konstante steht und können auch direkt in der Methode ablesen was passieren soll. Auch können wir den Wert abändern, ohne überall den Konstantennamen ändern zu müssen, es ist ja nachwievor klar, wofür die Konstante da ist.
Wenn du diese Seite interessant fandest, findest du hier noch mehr Seite(n) dazu:
Schlechter Bezeichner