Czysty kod – czy warto kupić?

Ostatnio, w święta, na prezent dostałem Czysty Kod Roberta C. Martina. Chciałem się z wami podzielić odczuciami związanymi z czytaniem tej lektury, bo wiele osób zastanawia się, czy w ogóle warto ją kupić.

Zahaczając o święta, z ciekawych lektur dostałem także Java 8. Przewodnik doświadczonego programisty Cay’a S. Horstmanna, znanego autora książek takich jak Java. Podstawy czy Java. Techniki zaawansowane. Swoją drogą, uczyłem się z tej pierwszej, mogę ją polecić z czystym sercem 🙂

Dzięki temu, że mam te dwie książki, mam co czytać na co najmniej 2 miesiące. Ale chwila, chwila… Czysty kod nie jest książką, którą można tak po prostu przeczytać i odłożyć na półkę. Być może zajedzie tu nieco filozofią (nie myślicie, że programowanie coraz bardziej zbliża się do filozofii?), ale książka ta ma za zadanie zmusić programistę do refleksji nad tym, jak pisze swoje programy; co robi nie tak, co można by poprawić.

Autor już w samym wstępie wspomina:

Bądź przygotowany na ciężką pracę przy czytaniu tej książki. To nie jest książka „łatwa i przyjemna”, którą można przeczytać w samolocie i skończyć przed lądowaniem. Będzie ona wymagała pracy. I to ciężkiej.

Autor mógł po prostu podać przykłady dobrego kodu a potem zostawić czytelnika samego. Ale, jak mówi:

Nie. W tej książce zastosowaliśmy inne podejście.

Nauka pisania czystego kodu jest ciężką pracą. Wymaga czegoś więcej niż tylko wiedzy na temat zasad i wzorców. Musisz się przy tym spocić. Musisz to sam praktykować i przeżywać porażki. Musisz patrzeć na ćwiczenia innych i ich porażki. Musisz widzieć, jak dążą do doskonałości. Musisz widzieć, jak męczą się nad decyzjami i jaką cenę płacą, gdy decyzje te są złe.

Ten właśnie cytat promieniuje w każdym akapicie książki. Autor pokazuje praktyki dobrego kodu na realnych przykładach, głównie pojawia się tam framework do testów, FitNesse, którego kod można przeglądać tu. Wskazuje on w nim błędy, które czytelnik ma za zadanie zauważyć, oraz w miarę możliwości zaproponować rozwiązanie. A, właśnie. Autor sporo razy będzie kazał nam zastanowić się nad danym kawałkiem kodu (czasem krótkim, czasem wielkim, kilkustronicowym), znaleźć błędy konstrukcyjne i zaproponować ich naprawę. Myśleliście że będzie łatwo?

To właśnie powoduje, że ta książka wybiła się wśród innych, podobnych. Ona jest po prostu inna.

Jeżeli jesteście już świadomi tego, co was czeka, to teraz dokładniej – jakich praktyk Czysty kod was nauczy? Gdybym miał wymienić wszystkie, to zasnęlibyście po, hmm, dziesiątej? A jest ich kilka razy więcej 🙂

Trzeba tylko wspomnieć, że książka prezentuje przykłady w Javie. Jeżeli ktoś nie jest programistą Javy raczej nie musi się martwić, o ile ogarnia podstawową składnię – tu chodzi tylko i wyłącznie o czystość i porządek. Dodatkowo, autor załącza także tzw. zapachy kodu – czyli listę najbardziej popularnych, uniwersalnych zaśmiecaczy kodu. Jest to istna wiedza w pigułce, ale mimo wszystko dla jej zrozumienia polecam przeczytać całą książkę.

Na sam koniec, czy książkę warto kupić? Zdecydowanie tak. Na początku może wydać się nudną, ciągnącą się lekturą, ale mogę was zapewnić, że jest warto. I nie należy zniechęcać się tym, że przykłady są w Javie, do ich zrozumienia wystarczy tylko powierzchniowa znajomość składni, raczej nie potrzeba znać charakterystyk wbudowanych klas.

  • Michał

    W moim przypadku ta książka zmieniła moje programowanie – i to na duży plus. Polecam każdemu, kto nie czytał.