Könyvajánló: Clean code

Pár hete kezdtem el olvasni Robert C. Martin – Clean Code c. könyvét. Az olvasás nagy részén már túljutottam, úgy éreztem, már érdemes is írnom erről a fantasztikus könyvről.

A könyv elolvasása újabb szintre helyezte a programozási készségeimet, nem vitás. Bár elég sok blogot olvasok, de ennek a könyvnek sikerült igazán jól rendszereznie eddigi ismereteimet, és újabb eszközökkel, friss ötletekkel kiegészítenie programozási fegyvertáram. Eddig is azt vallottam, hogy folyamatosan, munkánk mellett – vagyis inkább annak részeként(!) – kell időt szánnunk a kód jobbá tételére. Azonban a könyv megtanított arra, hogy milyen technikákkal, mire fókuszálva érhetjük el a tiszta kódot.

Nem írok arról, pontosan miről szól a könyv, mert a tartalomjegyzéke és rövid leírása megtekinthető a neten is. Inkább idézek az egyik fejezet végéről (Chapter 14, Conclusion):

“Az nem elegendő, ha a kód csupán működőképes. [...] Azon programozók, akik megelégednek a csupán működőképes kóddal, azok egyszerűen nem professzionálisan viselkednek. Talán attól tartanak, hogy nincs idő arra, hogy saját kódjukat átstruktúrálják, ezzel azonban nem értek egyet. Semminek nincs olyan alapos és hosszútávú leépítő hatása egy fejlesztési projektben, mint a rossz kódnak. A rossz ütemezésen lehet változtatni, a rössz követelményeket újra lehet egyeztetni, és egy rossz csapat dinamikáján is lehet javítani. Azonban a rossz kód rothad és erjed, hatalmas súlyként magával húzva a csapatot. [...]

Természetesen egy rossz kód is kitakarítható, azonban ez sokba kerül. Ahogy rothad a kód, az egyes modulok egymásba furakodnak, és rengeteg rejtett és kusza függőséget okoznak egymásban. Ezen függőségek megtalálása és feloldása hosszú és fáradságos munka eredménye. Másrészről egy kód tisztán tartása viszonylag egyszerű feladat. Ha valami nem úgy sikerült reggel, azt délután könnyen feltakaríthatjuk. Ha 5 perccel ezelőtti hibánkat azonnal javítjuk, akkor még sokkal egyszerűbb a dolgunk.

A megoldás tehát a kód folyamatos tisztán tartása, amennyire tisztán és egyszerűen csak lehet. Soha ne engedjük, hogy a rothadás elkezdődjön!”

Megkockáztatnám, hogy ennek a könyvnek a hasznossága simán üti az eddigi refaktorálás és TDD témakörben olvasott könyveket. Alapmű minden fejlesztő számára.

Nem vagyok híve az idegennyelvű szakkifejezések – kivétel nélküli – magyarra fordításának, de ha valakinek nincs kedve angolul olvasni, annak a könyv elolvasható magyarul is a Kiskapu Kiadó jóvoltából.

Share
This entry was posted in Nem kategorizált, Programozás and tagged , , , . Bookmark the permalink. Follow any comments here with the RSS feed for this post. Trackbacks are closed, but you can post a comment.

Comments

Leave a Comment


  • RSS JTechLog – Viczián István java blogja


    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693

    Warning: A non-numeric value encountered in /chroot/home/infokuka/infokukac.com/html/wp-includes/SimplePie/Parse/Date.php on line 693
  • RSS Tajti Ákos C és Java blogja

  • RSS QualityOnTime

  • RSS Adaptive PM

  • RSS Menedzsmentor blog

  • Shelfari: Book reviews on your book blog