Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Możektośtozadaniezrobićcałkieminaczejniżobaprezentowanefrag-
menty.Toteżnieszkodzi.Taksiążkaniepodajeprzepisów,dyktując,
żecośmabyćzrobionewokreślonysposób.Celemjestilustracjaza-
letiwadróżnychwzorcówiumożliwieniewampodejmowaniadecyzji.
Gdydojdziemydokońcaksiążki,waszepodejściedozadaniaznajdziesię
zapewneniecobliżejtegodrugiegofragmentu,niżjesttoteraz.
Możliweteżjest,żeczytelniktodoświadczonydeweloperFP
,któryprze-
glądapoczątektejksiążki,abyzobaczyć,czyznajdzietamcośużytecznego.
Drugifragmentkodumazdecydowanieelementy,którebędądobrzeznane.
Alezałożęsięteż,żekilkarazytakaosobapomyśliDHmm,jabymtego
niezrobiłwtensposób…”.Tojestwporządkuijestcałkiemrozsądne.
Niejesttotradycyjna,kanonicznaksiążkaoFP
.Pokażemytukilkapodejść,
którewydadząsięcałkiemheretyczne.Szukamypragmatycznejrównowagi
międzyjasnymi,niezaprzeczalnymizaletamiFPapotrzebądostarczenia
działającego,możliwegodoutrzymaniakoduJS,bezkoniecznościogarnięcia
zniechęcającejgórymatematyki/notacji/terminologii.
ToniejestwaszeFP
,tolekkofunkcyjnyJavaScript.Jakikolwiekjestpowódczy-
taniatejksiążki,zapraszam!
Zaufanie
Mamzawszebardzoprostezałożenie,któreleżyupodstawwszystkiego,corobię
jakonauczycieltworzeniaoprogramowania(wJavaScripcie):kod,któremunie
możemyufać,tokod,któregonierozumiemy.Prawdziwejesttakżetwierdzenie
odwrotne:kod,któregonierozumiemy,jestkodem,któremuniemożemyufać.
Ponadto,jeśliniepotrafimyzrozumiećnaszegokoduanimuufać,toniemożemy
miećżadnejwiarywto,żepisanyprzeznaskodjestodpowiednidopostawionego
zadania.Uruchamiamyprogramipoprostutrzymamykciuki.
Corozumiemyprzezzaufanie?Dlamnieoznaczato,żemożnagozweryfikować,
czytającgoianalizując,anietylkowykonując,iżerozumiemy,codanykawałek
kodunaprawdęzrobi.Częściejniżjesttorozważane,mamytendencję,abypolegać
nauruchomieniuzestawutestówdozweryfikowaniapoprawnościprogramu.Nie
mamzamiarusugerować,żetestytocośzłego.Alewydajemisię,żepowinniśmy
aspirowaćdotego,abyzrozumiećnaszkodnatyle,żebyprzeduruchomieniem
wiedzieć,żeprzejdzietesty.
TechnikistanowiącepodstawęFPzaprojektowanezpunktuwidzeniaznacznie
większegozaufaniadonaszychprogramówposamymichprzeczytaniu.Ktoś,kto
rozumieFPijestdostateczniezdyscyplinowany,abyskrupulatniewykorzystywać
4
Rozdział10Dlaczegoprogramowaniefunkcyjne?