Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
zrozumiemyproblemifragmentykodu,którychdotyczy,samokodo-
wanieokazujesiętrywialne.
Przezchwilęstukamynaszymimięsistymipalcamiwklawiaturę,
naekraniepokażąsięświatełkawewłaściwychkolorach.Ipowszyst-
kim,prawda?Chwila,moment!Zanimnapiszemytestyiprześlemykod
doinspekcji,częstoczekanastrochęczyszczenia.
Upchnęliśmywnaszejgrzejeszczetrochękodu,aleniechcemy,aby
kolejnaosoba,którasiętupojawi,potknęłasięozmarszczki,którepozo-
stawiliśmywźródle.Wyłączywszyprzypadkiminimalnychzmian,chcąc
zintegrowaćnaszkodiwygładzićcałyprogram,czekanasodrobinare-
organizacji.Jeślizrobimytopoprawnie,kolejnapojawiającasięosoba
niebędziewstaniestwierdzić,kiedyzostałnapisanyjakiświerszkodu.
Krótkomówią,diagramprzepływudlaprogramowaniawyglądajakośtak:
POSPRZĄTAJ
ZAKODUJROZWIĄZANIE
ZROZUMPROBLEM
POZNAJKOD
CzypowiedziałemUtesty”?O,rzeczywi-
ście!Ciężkojestnapisaćtestyjednostkowe
jakiegośkodugry,aledużaczęśćbazykodu
znakomicienadajesiędotestowania.
Niebędęsięnadtymwtymmiejscuroz-
wodzić,alenaprawdęwartowwiększym
stopniupolegaćnatestachautomatycznych
(jeślijeszczetegonierobimy).Czynapraw-
niemamyniclepszegodorobotyiza
każdymrazemchcemysprawdzaćróżne
rzeczyręcznie?
Teraz,gdyotymmyślę,fakt,żeztejpętli
niemawyjścia,wydajemisięodrobinę
niepokojący.
Rysunek1.1.Dzieńpracyprogramistywpigułce
Wjakisposóboddzielaniemożepomóc?
Choćniejesttooczywiste,sądzę,żearchitekturaoprogramowaniaza-
leżyprzedewszystkimodfazypoznawaniakodu.Załadowaniekodudo
neuronówjesttakokropniewolne,żeopłacasięposzukaćstrategiire-
dukującychjegoobjętość.Całaosobnaczęśćtejksiążkijestpoświęcona
wzorcomsłużącymoddzielaniu,adużaczęśćksiążkiWzorceprojektowe
jestpoświęconatemusamemu.
nOddzielanie”możemyzdefiniowaćnawielesposobów,jednakmoim
zdaniemjeślidwafragmentykodusprzężone,toznaczyżeniemożna
zrozumiećjednegoznichbezzrozumieniadrugiego.Jeślijeoddzielimy,
okażdymznichmożemyrozumowaćniezależnie.Toświetnasprawa,
ponieważjeślinaszproblemdotyczytylkojednegoznich,będziemy
musielizaładowaćdonaszegomałpiegomózgutylkojedenfragment,
adrugiegojużnie.
Jeślichodziomnie,jesttokluczowezadaniestojąceprzedarchitek-
turąoprogramowania:zminimalizowaćilośćwiedzy,jakąmusimymieć
wgłowie,nimbędziemymogliposunąćsprawydoprzodu.
ProgramowaniegierWprowadzenie11