Magic Literal: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
{{Bewertungsrichtlinie | {{Bewertungsrichtlinie | ||
|baustelle=Ja | |baustelle=Ja | ||
| | |Blatt=2 | ||
|beschreibung=Wir reden von "Magic Numbers", wenn im Quellcode zahlen rumfliegen. Was heißt das? Konkret bedeutet das, dass eine Variable mit einem Wert deklariert wurde, der sich niemals ändern kann und wird - eine konkrete Zahl. Würde man jetzt etwas im Quellcode ändern wollen, was voraussetzt, dass wir überall im Program zum Beispiel nicht mehr durch 2, sondern durch 3 teilen sollen, müsste man das überall händisch ändern. Das kostet Zeit, Nerven und man stelle sich vor man findet nicht alle...Besser wäre also, Zahlen als Konstante/Variable zu deklarieren. Wenn wir diese Konstante/Variable jetzt ändern wie in unserem Beispiel, müssten wir nur einmal eine 2 durch eine 3 ersetzen, sodass das Program genau das macht, was wir wollen. Es ist also schneller und vor allem viel weniger Arbeit.Das gilt auch für Zeichenketten.Technisch gesehen sind "Magic Numbers" nicht auf Zahlen beschränkt. Auch Zeichenketten, die die o.g. Charakteristik erfüllen, sind "Magic Numbers" (oder dann eben "Magic Strings"). | |beschreibung=Wir reden von "Magic Numbers", wenn im Quellcode zahlen rumfliegen. Was heißt das? Konkret bedeutet das, dass eine Variable mit einem Wert deklariert wurde, der sich niemals ändern kann und wird - eine konkrete Zahl. Würde man jetzt etwas im Quellcode ändern wollen, was voraussetzt, dass wir überall im Program zum Beispiel nicht mehr durch 2, sondern durch 3 teilen sollen, müsste man das überall händisch ändern. Das kostet Zeit, Nerven und man stelle sich vor man findet nicht alle...Besser wäre also, Zahlen als Konstante/Variable zu deklarieren. Wenn wir diese Konstante/Variable jetzt ändern wie in unserem Beispiel, müssten wir nur einmal eine 2 durch eine 3 ersetzen, sodass das Program genau das macht, was wir wollen. Es ist also schneller und vor allem viel weniger Arbeit.Das gilt auch für Zeichenketten.Technisch gesehen sind "Magic Numbers" nicht auf Zahlen beschränkt. Auch Zeichenketten, die die o.g. Charakteristik erfüllen, sind "Magic Numbers" (oder dann eben "Magic Strings"). | ||
|schweregrad=leicht | |schweregrad=leicht |
Version vom 25. Januar 2024, 13:41 Uhr
🚧 | Diese Seite befindet sich in Bearbeitung | 🚧 |
🤓 | Diese Seite ist eine Bewertungsrichtlinie, die ab Blatt Fehler im Ausdruck: Nicht erkanntes Satzzeichen „{“„Fehler im Ausdruck: Nicht erkanntes Satzzeichen „{““ ist keine Zahl. annotiert und ab Blatt Fehler im Ausdruck: Nicht erkanntes Satzzeichen „{“ abgezogen wird. | 🤓 |
Beschreibung
Wir reden von "Magic Numbers", wenn im Quellcode zahlen rumfliegen. Was heißt das? Konkret bedeutet das, dass eine Variable mit einem Wert deklariert wurde, der sich niemals ändern kann und wird - eine konkrete Zahl. Würde man jetzt etwas im Quellcode ändern wollen, was voraussetzt, dass wir überall im Program zum Beispiel nicht mehr durch 2, sondern durch 3 teilen sollen, müsste man das überall händisch ändern. Das kostet Zeit, Nerven und man stelle sich vor man findet nicht alle...Besser wäre also, Zahlen als Konstante/Variable zu deklarieren. Wenn wir diese Konstante/Variable jetzt ändern wie in unserem Beispiel, müssten wir nur einmal eine 2 durch eine 3 ersetzen, sodass das Program genau das macht, was wir wollen. Es ist also schneller und vor allem viel weniger Arbeit.Das gilt auch für Zeichenketten.Technisch gesehen sind "Magic Numbers" nicht auf Zahlen beschränkt. Auch Zeichenketten, die die o.g. Charakteristik erfüllen, sind "Magic Numbers" (oder dann eben "Magic Strings").
Negativbeispiel
final String password = "Test";
if (password.length() < 8) {
System.err.println("Password too short, please choose a longer password!");
}
Positivbeispiel
final String password = "Test";final int minimalPasswordLength = 8;if (password.length() < minimalPasswordLength) { System.err.println(PASSWORD_ERROR_MESSAGE);}
[[Kategorie:Blatt Fehler im Ausdruck: Nicht erkanntes Satzzeichen „{“ Annotation]] [[Kategorie:Blatt Fehler im Ausdruck: Nicht erkanntes Satzzeichen „{“ Abzug]]