Sie sind hier � 81
Einführung in Funktionen
var dogName = "rover";
var dogWeight = 23;
if (dogWeight > 20) {
console.log(dogName + " sagt WAU WAU");
} else {
console.log(dogName + " sagt wau wau");
}
...
dogName = "lady";
dogWeight = 17;
if (dogWeight > 20) {
console.log(dogName + " sagt WAU WAU");
} else {
console.log(dogName + " sagt wau wau");
}
Was stimmt denn mit dem Code nicht?
Wir haben gerade Code gesehen, der immer und immer wieder benutzt wird.
Und was ist so schlimm daran? Auf den ersten Blick erst mal gar nichts.
Es funktioniert doch alles, oder? Lassen Sie uns den fraglichen Code
einmal genauer ansehen.
Hier vergleichen wir das Gewicht des
Hundes (dogWeight) mit 20. Ist das
Gewicht größer als 20, geben wir ein
großes »WAU WAU« aus. Liegt das
Gewicht unter 20, gibt es nur ein
kleines »wau wau«.
Und dieser Code macht … oh
nein! Er macht EXAKT das
Gleiche. Und das passiert im
Code noch ein paar Mal.
Auch wenn das eigentlich ganz unschuldig aussieht, ist es
nur sehr schwer lesbar. Außerdem führt diese Schreibweise
schnell zu Problemen, wenn der Code einmal verändert oder
angepasst werden soll. Je mehr Programmiererfahrung Sie
haben, desto wichtiger wird gerade der letzte Punkt. Jedes
Programm ändert sich irgendwann. Das heißt, es ist nur eine
Frage der Zeit, bis der Albtraum wahr wird und Sie die Logik
ändern müssen. Das müssen Sie dann gleich an mehreren
Stellen tun. Und je größer das Programm wird, desto mehr
Änderungen sind nötig, was wiederum schnell zu Fehlern
führt. Am besten wäre es, wenn wir redundanten Code wie
diesen nur einmal schreiben müssten und ihn, wo und wann
wir wollen, wiederverwenden könnten.
Wie lässt sich dieser Code verbessern?
Nehmen Sie sich ein paar Minuten Zeit und
überlegen Sie sich einige Möglichkeiten. Be-
sitzt JavaScript irgendwelche Eigenschaften,
die hier helfen können?
dogName = "spike";
dogWeight = 53;
if (dogWeight > 20) {
console.log(dogName + " sagt WAU WAU");
} else {
console.log(dogName + " sagt wau wau");
}
dogName = "lady";
dogWeight = 17;
if (dogWeight > 20) {
console.log(dogName + " sagt WAU WAU");
} else {
console.log(dogName + " sagt wau wau");
}
Kopf-
nuss
82 Kapitel 3
Wenn ich nur eine Möglichkeit finden könnte, den
Code wiederzuverwenden. Dann könnte ich ihn
bei Bedarf einfach benutzen, ohne ihn noch mal
eingeben zu müssen. Einen wunderschönen Namen,
der mit im Gedächtnis bleibt, würde ich ihm auch
geben — und falls etwas angepasst werden muss,
wäre die Möglichkeit, die Änderungen an nur einer
Stelle durchzuführen, wirklich fantastisch. Aber
leider ist das ja nur ein Traum …
Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.