Praca z zastanym kodem. Najlepsze techniki

Praca z zastanym kodem. Najlepsze techniki

W tej recenzji chciałbym przybliżyć czytelnikom Forbota książkę „Praca z zastanym kodem. Najlepsze techniki”, autorstwa M. Feathersa.

Jest to jedna z nowych pozycji wydawnictwa Helion, obecna w księgarniach od niemal roku.

Zawartość

Książka podzielona jest na trzy części, składające się łącznie z 25 rozdziałów, zajmujących łącznie niemal 450 stron. Jest zorganizowana w formie najczęściej zadawanych pytań i odpowiedzi (ang. FAQ - Frequently Asked Questions), np. „Nie rozumiem wystarczająco dobrze kodu, żeby go zmienić” czy „Muszę dokonać zmian. Które metody powinienem przetestować?”, które są jednocześnie tytułami rozdziałów. Dzięki temu nie ma potrzeby jej czytania „od deski do deski”, można wybrać jedynie rozdziały, które nas interesują. Wszystkie te pytania są wyszczególnione w spisie treści, zainteresowanych odsyłam na stronę wydawnictwa.

Na samym początku lektury autor odpowiada na pytanie czym jest zastany kod (ang. legacy code). Istnieje wiele definicji – kod napisany przez kogoś innego (którego często nie rozumiemy) czy kod starszej wersji systemu, który musimy utrzymywać celem zapewnienie kompatybilności wstecznej. Feathers wprowadza nową, prostszą definicję zastanego kodu – „kod bez testów”.

Kod bez testów to zły kod. Nie ma znaczenia, jak dobrze jest napisany; nie ma znaczenia, jaki jest ładny, jak bardzo zorientowany obiektowo czy też jak mocno hermetyczny. Za pomocą testów możemy zmienić zachowanie naszego kodu szybko i w sposób weryfikowalny. Bez nich tak naprawdę nie wiemy, czy kod zmierza ku lepszemu, czy ku gorszemu.

Można śmiało powiedzieć, że jest to również motto tej książki. Autor pokazuje praktyczne przykłady w jaki sposób zmodyfikować istniejący kod, aby możliwe stało się jego przetestowanie. Wiąże się to również ze swojego rodzaju błędnym kołem – aby stworzyć testy, należy zmodyfikować kod, ale aby bezpiecznie to zrobić, należy najpierw napisać do niego testy.

Okładka książki

Okładka książki

Praca z zastanym kodem przypomina stąpanie po polu minowym - a autor pokazuje, w jaki sposób bezpiecznie wyciągnąć i zabezpieczyć te miny, nakładając na nie testy.

Większość przykładów dotyczy języków Java i C#, choć zdarzają się również przykłady w C++ (przede wszystkim cały rozdział 19. „Mój projekt nie jest zorientowany obiektowo. Jak mogę bezpiecznie wprowadzać zmiany?”).

Subiektywna opinia i podsumowanie

Po pierwsze należy zwrócić uwagę, do kogo skierowana jest ta książka. Jest to pozycja dla zawodowych programistów, którzy w swojej karierze już zetknęli się z zastanym kodem i widzieli niejedne „ośmiotysięczniki” (potoczna nazwa na klasy/pliki składające się z ponad 8.000 linijek kodu). Dopiero mając takie doświadczenie, można „czerpać garściami” z treści zawartych w tej książce.

Jeżeli, Drogi Czytelniku, nie posiadasz takiego doświadczenia, to zdecydowanie polecam lekturę kultowej już pozycji „Czysty Kod. Podręcznik dobrego programisty”, również wydanej przez Helion.

Zdecydowanie polecam tę książkę wszystkim programistom, którzy chcą podnieść swoje umiejętności w zakresie refaktoryzacji i poprawy zastanego kodu, aby ułatwić sobie prace i „zostawić ten kod trochę lepszym, niż się go zastało”.

Spodobała Ci się recenzowana książka?

Kup wersję papierową » Kup wersję elektroniczną »

C, java, kod, poprawki, programowanie, testy

Trwa ładowanie komentarzy...