keskiviikko 4. marraskuuta 2009

Refactoring To Patterns

Joshua Kerievsky, Refactoring to Patterns. Addison-Wesley, Boston, MA, USA, 2004.

Yhdysvaltalainen Joshua Kerievsky on ohjelmistoalan konkari, joka on vuosien mittaan kehittänyt ja opettanut parempia työskentelytapoja. Refactoring to Patterns on otsikkona ytimekäs, mutta se tuskin aukeaa ohjelmointia heikosti tuntevalle. Kirjassa nojataan Martin Fowlerin määritelmään, jonka mukaan refaktorointi on "behavior-preserving transformation" eli ohjelmakoodin muokkaamista selkeämpään, laadukkaampaan luettavampaan ja taipuisampaan muotoon ilman, että ohjelman käyttäytyminen varsinaisesti muuttuu. Refaktorointi ei siis korjaa bugeja tai lisää uusia toiminnallisuuksia. Pattern (design pattern) on yleisesti sovellettava ratkaisumalli tietyntyyppisiin ohjelmointiongelmiin. Kirjan otsikko siis viittaa sellaiseen refaktorointiin, jonka lopputuloksena lähdekoodi toteuttaa ratkaisumalleja.

Kerievsky kirjoittaa pitkän johdannon, joka esittelee Design Patterns (Gamma et al.) ja Refactoring (Fowler) kirjojen pääteesit, vaikka kirjoittaja tuntuu (syystäkin) edellyttävän, että lukija on lukenut em. teokset. Refaktoroinnit on ryhmitelty luomiseen, yksinkertaistamiseen, yleistämiseen, suojaamiseen ja kokoamiseen liittyviin käyttötapauksiin. Jokaisesta refaktoroinnista on esitelty siihen liittyvän ratkaisumallin UML-kuvauksen lisäksi refaktoroinnin motivaatio, edut ja haitat, mekaniikka ja esimerkki monivaiheisen refaktoroinnin tekemisestä lähdekoodeineen ja kommentteineen. Viime mainitut esimerkit seulovat erinomaisella tavalla ajattelua ratkaisumallien ja refaktoroinnin takana.

Refactoring to Patterns on kovakantinen,  tyylikäs kirja. Teksti ei ole erityisen raskasta tai tiivistä, vaan Kerievsky maalailee taustaa esimerkeilleen sangen vuolaasti.

Ei kommentteja:

Lähetä kommentti