Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozwiązaniebyłoproste.Pojedynczezatwierdzenie3modyfikacjikoduspowodo-
wało,żefunkcja
line2route()
stałasięponaddziesięćrazyszybszaiznaczącokrótsza.
Modyfikacjatapozwoliłaocalićcałyprojektprzedporażką.Morałztejhistoriijesttaki,
żewydajneprogramowanieniejestwyłączniepożądanąumiejętnością,leczmożeniekie-
dyokazaćsięniezbędne.
Wielekoncepcjiiumiejętnościjestagnostycznychjęzykowo.Dużaczęśćwiedzyztego
podręcznikapowinnamiećrównieżzastosowanieprzyprogramowaniuwinnychjęzy-
kach(jakrównieżprzywykonywaniuinnychczynnościtechnicznychpozaprogramowa-
niem).Jednakwprzypadkujednegokonkretnegojęzykapowinniśmywyraźnieskupić
sięnawydajności.WjęzykuRnawetzwyczajnapodmianafunkcjinafunkcjęzinnego
pakietumożeznaczącopodnieśćwydajność,oczymmożemyprzekonaćsięnaprzykła-
dziewczytywaniaplikówtekstowychwrozdziale5.Takipoziomszczegółowości,wraz
zmożliwymidoodtworzeniaprzykładami,niebyłbymożliwywksiążcepoświęconej
ogólnymzagadnieniomwydajnegoprogramowania.Umiejętnościzapewniającewydajną
pracę,któremajązastosowanierównieżpozaprogramowaniemwR,omówionezostały
wkolejnympodrozdziale.
Umiejętnościuniwersalnezapewniającewydajność
ZnaczeniewydajnegokoduR,wprzeciwieństwiedogenerycznegowydajnegokodu,powin-
nobyćjużzrozumiałepoprzeczytaniudwóchpoprzednichpodrozdziałów.Nieoznacza
tojednak,żeumiejętnościikoncepcjeomówionewtejksiążceniemogąbyćprzenoszone
doinnychjęzykówprogramowaniaczynawetzadańniezwiązanychzprogramowaniem.
RozwójtychuniwersalnychumiejętnościusprawninietylkonaszeprogramowaniewR,
alerównieżinneaspektynaszegożyciazawodowego.Dwiespośródtychumiejętności
szczególnieważne:pisaniebezwzrokoweorazposługiwaniesięspójnymstylem.
Pisaniebezwzrokowe
Drugąstronąmedaluwydajnościjestwydajnośćprogramisty.Istniejewielerzeczy,które
wstaniezwiększyćproduktywnośćnasząinaszychwspółpracowników,jakchoćby
stosowaniesiędozasadyPhilippaJanerta„myślwięcej,róbmniej”(Janert2010).Badania
pokazują,żedobradieta,aktywnośćfizyczna,odpowiedniailośćsnuorazzdrowybalans
międzyżyciemipracąmogązwiększyćnasząszybkośćiefektywnośćwpracy(Jensen
2011;Pereiraiin.2015;Grant,SpurgeoniWallace2013).
Zachęcamydosamodzielnegoprzemyśleniatychbadań,gdyżniejesttoksiążkaosa-
mopomocy,leczpodręczniktraktującyoprogramowaniu.Istniejejednakjednaniepro-
gramistycznaumiejętność,któramożemiećolbrzymiwpływnanasząproduktywność:
pisaniebezwzrokowe.Opanowanietejumiejętnościjestwdużejmierzeproste,apozwoli
namonaszybkopisać,modyfikowaćitestowaćnaszkodR.Poprawneopanowaniesztuki
3
http://bit.ly/refactorline2route
8
|
Rozdział1:Wprowadzenie