Zrozumieć Tao

Refaktoryzacja do wzorców projektowych okładkaTytuł: Refaktoryzacja do wzorców projektowych
Tytuł oryginału: Refactoring to Patterns
Autor: Joshua Kerievsky
Rok wydania: 2005, Helion
Seria:
ISBN: 83-7361-930-5
Bardzo rzadko zdarza się tak, że po przeczytaniu książki z dziedziny inżynierii oprogramowania doznaję oświecenia. Jeszcze rzadziej doznaję podobnych uczuć jeżeli książka traktuje o Javie. Po trochu wynika to z faktu, że jestem osobą mało podatną na reklamę i sceptycznie nastawioną do każdego produktu. Jednak książka J. Kerievskiego należy do tej nielicznej grupy, która wzbudziła mój zachwyt. Autor nie tylko pokazuje na czym polega refaktoryzacja kodu i jak ją przeprowadzić by uzyskać Tao związane z Wzorcami Projektowymi, ale przede wszystkim wskazuje gdzie i jak nie korzystać ze wzorców.

Główną cechą książki jest ciekawy sposób prezentacji materiału. Nie są to nudne wykłady teoretyczne, ale nie jest to też znana z serii Head First swobodna zabawa. Można powiedzieć, ze jest to droga środka. Język, którego używa autor jest „miły dla ucha”. Nie jest napchany technicznym żargonem, ale nie ma tu też dziwnych konstrukcji mających na celu jego unikanie. Rzetelna ocena sytuacji wyjściowej, omówienie motywacji wraz z opisaniem zalet i wad, każdego z procesów. Następnie krótki opis mechaniki działania danego procesu aż w końcu przykład na niezbyt skomplikowanym kodzie. Oto klucz do mojego serca.

Muszę jednak przyznać, że J. Kerievsky nie uniknął też pewnych błędów. Książka zawiera dużo „wirtualnej treści” w postaci listingów kodu. Znacznie lepszym rozwiązaniem było by dołączenie ich na płycie do książki. Odwołuje się on też do klasycznych dzieł takich jak „Design Pattern” GoF, czy prac Martina Flowera o refaktoryzacji i zapachach kodu. Osoba, która nie zetknęła się z tymi pozycjami może mieć problem gdyż często pojawia się magiczne „w porównaniu z”.

Wydawca tradycyjnie już zafundował nam dobrej jakości książkę w pewną liczbą literówek i błędów. Trzeba się chyba z tym już pogodzić, że Helion nie ma korektorów.

Moja ocena to 4.5/5

Napisz odpowiedź

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax