jesteś tutaj
117
Przedstawienie funkcji
Co z tym kodem było nie tak?
Zauważyłeś na pewno, że fragmenty tego kodu wielokrotnie się powtarzały.
Co w tym złego? Na pierwszy rzut oka, nic. W końcu kod działa jak należy,
prawda? Przyjrzyjmy się mu nieco dokładniej.
var dogName = ”Burek”;
var dogWeight = 23;
if (dogWeight > 20) {
console.log(dogName + ” szczeka HAU HAU”);
} else {
console.log(dogName + ” szczeka hau hau”);
}
...
dogName = ”Saba”;
dogWeight = 17;
if (dogWeight > 20) {
console.log(dogName + ” szczeka HAU HAU”);
} else {
console.log(dogName + ” szczeka hau hau”);
}
Oczywiście ten przykład wygląda dosyć niewinnie, jednak i tak wpisywanie
go byłoby męczące, odczyt i analiza kłopotliwe, a wprowadzanie zmian,
gdyby w przyszłości takie się pojawiły, problematyczne. Wraz z nabieraniem
doświadczenia w programowaniu przekonasz się, że zwłaszcza ten ostatni
punkt jest szczególnie prawdziwy — każdy kod z czasem się zmienia,
a przedstawiony powyżej jest prawdziwym koszmarem czekającym w ukryciu,
gdyż cały składa się z wielokrotnie powtórzonego tego samego fragmentu
logiki; gdyby trzeba było ją zmienić, musielibyśmy to zrobić w kilku miejscach.
A im większy byłby program, tym więcej takich zmian należałoby w nim
wprowadzić, a im więcej zmian, tym więcej okazji do popełnienia błędów.
Potrzebujemy zatem jakiegoś sposobu, by cały powtarzający się kod umieścić
w jednym miejscu i wielokrotnie go używać, kiedy będzie potrzebny.
W tych fragmentach porównujemy wagę
psa do 20, a jeśli okaże się większa,
wyświetlamy „HAU HAU” zapisane
wielkimi literami. Jeśli waga psa będzie
mniejsza lub równa 20, wyświetlamy
„hau hau” zapisane małymi literami.
A ten fragment kodu robi… O kurcze!
Robi DOKŁADNIE to samo itd. kilka
razy w całym przykładzie.
dogName = ”Reksio”;
dogWeight = 53;
if (dogWeight > 20) {
console.log(dogName + ” szczeka HAU HAU”);
} else {
console.log(dogName + ” szczeka hau hau”);
}
dogName = ”Saba”;
dogWeight = 17;
if (dogWeight > 20) {
console.log(dogName + ” szczeka HAU HAU”);
} else {
console.log(dogName + ” szczeka hau hau”);
}
WYSIL
SZARE KOMÓRKI
W jaki sposób możemy poprawić ten kod? Poświęć
kilka minut, by pomyśleć nad różnymi możliwościami.
Czy język JavaScript udostępnia jakieś sposoby, które
mogą w tym pomóc?
118
Rozdział 3.
Gdybym tylko mogła znaleźć
sposób wielokrotnego stosowania kodu, tak
by za każdym razem, gdy będę potrzebować, po
prostu go użyć, a nie od nowa wpisywać. I jeszcze
jakiś sposób, by nadać mu odpowiednią nazwę,
którą mogłabym łatwo zapamiętać. No i jeszcze
sposób, dzięki któremu wszystkie zmiany mogłabym
wprowadzać tylko w jednym miejscu, a nie w wielu.
To byłoby cudowne. Jednak wiem, że to tylko
moje fantazje…
Get Programowanie w JavaScript Rusz głową! 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.