Hodnotenie:
Kniha je vysoko cenená vývojármi pre jej hĺbkové preskúmanie techník refaktorovania, dôkladné príklady a praktické poznatky. Odporúča sa pre začínajúcich aj skúsených programátorov, pričom sa zdôrazňuje jej význam pri zlepšovaní čitateľnosti a udržiavateľnosti kódu. Niektorí recenzenti však upozorňovali na jej mnohomluvnosť a vyjadrili želanie, aby príklady kódu boli aj v iných jazykoch ako v JavaScripte.
Výhody:⬤ Komplexné pokrytie techník a zásad refaktorovania.
⬤ Užitočné pre začiatočníkov aj skúsených vývojárov.
⬤ Dobre navrhnuté, s kvalitnými diagramami a praktickými príkladmi.
⬤ Autor poskytuje cenné postrehy z rozsiahlych skúseností.
⬤ Nové refaktorovania a aktualizovaný obsah v druhom vydaní zvyšujú jeho aktuálnosť.
⬤ Slúži ako dobrá referencia na identifikáciu možností refaktorovania.
⬤ Niektorí považujú štýl písania za rozvláčny a ťažko zrozumiteľný.
⬤ Príklady sú predovšetkým v jazyku JavaScript, čo nemusí vyhovovať vývojárom, ktorí uprednostňujú iné jazyky, ako napríklad C# alebo Java.
⬤ Chýbajúci dokončený refaktorovaný kód pre komplexné metodiky by mohol brániť pochopeniu.
⬤ Niektorí čitatelia sa domnievajú, že by mohla byť vhodnejšia ako referencia, a nie ako kniha, ktorú treba prečítať od začiatku do konca.
(na základe 123 čitateľských recenzií)
Refactoring: Improving the Design of Existing Code
príručka Martina Fowlera na prepracovanie zlého kódu na dobre štruktúrovaný kód
Refaktoring zlepšuje návrh existujúceho kódu a zlepšuje udržiavateľnosť softvéru, ako aj uľahčuje pochopenie existujúceho kódu. Martin Fowler, signatár pôvodného Agile Manifestu a líder v oblasti vývoja softvéru, poskytuje katalóg refaktorovania, v ktorom vysvetľuje, prečo by ste mali refaktorizovať; ako rozpoznať kód, ktorý potrebuje refaktorovanie; a ako ho skutočne úspešne vykonať bez ohľadu na to, aký jazyk používate.
⬤ Princípy refaktorovania: pochopte proces a všeobecné princípy refaktorovania.
⬤ Pachy kódu: rozpoznávanie „zlých pachov“ v kóde, ktoré signalizujú príležitosť na refaktorovanie.
⬤ Zlepšovanie aplikácií: rýchlo použite užitočné refaktoringy, aby ste uľahčili pochopenie a zmenu programu.
⬤ Tvorba testov: písanie dobrých testov zvyšuje efektivitu programátora.
⬤ Presúvanie prvkov:dôležitou súčasťou refaktorovania je presúvanie prvkov medzi kontextami.
⬤ Dátové štruktúry: zbierka refaktorovaní na organizáciu údajov, ktoré majú v programoch dôležitú úlohu.
⬤ Podmienková logika: použitie refaktorovania na uľahčenie pochopenia podmienených častí.
⬤ API: Moduly a ich funkcie sú stavebnými kameňmi nášho softvéru a API sú spojmi, ktoré používame na ich spájanie.
⬤ Dedičnosť: je veľmi užitočná a zároveň sa dá ľahko zneužiť a často je ťažké vidieť nesprávne použitie, kým nie je v spätnom zrkadle - refaktorovanie môže nesprávne použitie napraviť.
Príklady sú napísané v jazyku JavaScript, ale nemalo by pre vás byť ťažké prispôsobiť refaktorovanie akémukoľvek jazyku, ktorý práve používate, pretože v rôznych jazykoch vyzerajú väčšinou rovnako.
Vždy, keď si prečítate (Refactoring), je čas prečítať si ho znova. A ak ste si ju ešte neprečítali, urobte tak pred napísaním ďalšieho riadku kódu." - David Heinemeier Hansson, tvorca Ruby on Rails, zakladateľ a technický riaditeľ spoločnosti Basecamp.
"Každý hlupák dokáže napísať kód, ktorému počítač rozumie. Dobrí programátori píšu kód, ktorému rozumejú ľudia."-M. Fowler (1999)