Reviews

Refactoring: Improving the Design of Existing Code 2nd Edition by Martin Fowler

riakul's review against another edition

Go to review page

4.0

This book took forever to finish! But I did it, that too in 2020.

I think the perfect time to read this is when you have started out and are a few months/years into the tech world.

Many of the refactorings are just common sense but when thinking in terms of maintainable code are quite handy.

If nothing else, definitely recommend reading the third chapter that covers the smells of bad code.

dorinlazar's review against another edition

Go to review page

3.0

An essential book at the time, but now more or less common knowledge. The approach is less interactive than expected, and the book becomes quite useless after the introductory chapters.

This is an essential book for any developer, but I tend to believe that the techniques for refactoring presented here can be presented in a more intuitive manner. An accent on code smells would've been preferable. Most of the solutions are obvious and the cross referencing becomes tiresome after a while.

kmariek's review against another edition

Go to review page

Big list of ways you can refactor your code. I read the newest version atm, which uses JavaScript for the examples. I work mostly in Go right now so decent language difference, but I don't think it mattered at all.

Since it's laid out in a reference structure, I wondered a lot if going front-to-back was the right choice, and ended on thinking that reading it through once prepped me for using it as a reference later on. I got the most out of it when I stopped forcing myself to read the Mechanics sections out of blind completionism, since the Example section does a great job of showing the incremental steps in a way that's more engaging if you're not sitting in front of the code right now and changing it.

Took me awhile (can I say a dog's age? the dog would still be a puppy) to get through it, but I got a lot out of it since at multiple points I read about the motivation for a refactoring and got a deeper understanding of why specific past code of mine was bad while learning how to fix it. 

Many times "code smell" was used I'd hear "YOU HAVEN'T THOUGHT OF THE SMELL" in my head from Always Sunny. If one person reads this and starts hearing it too I will have fulfilled some purpose in the world.

bcardoso's review against another edition

Go to review page

informative medium-paced

3.5

omarelkhatib's review against another edition

Go to review page

4.0

I have read the 2nd version,
It's a classical book that you must own,
and keep it as reference.
Many common sense refactoring if you have been programming for a while.

dreamingblackcat's review against another edition

Go to review page

5.0

I think I'll probably mark this book is currently-reading throughout my career. Because I am referencing it every now and then even today.

When I first read it, I dropped it after a few chapters. I was a naive junior programmer and the book was a bit mundane and boring. I am not getting anything special out of it.

Years later, when I get to work on a legacy code base with every code smell in the book manifesting here and there, I start to appreciate this book.

Each of the techniques in the book on their own doesn't seem all that useful. But the trick is when you master how to appropriately combine them to get your code into better shape gradually.

I think it is definitely a must-read for programmers who want to get good at their craft.

lizardlies's review against another edition

Go to review page

informative inspiring slow-paced

4.0

flerkamary's review against another edition

Go to review page

4.0

I think it's really great book but developer should have enough experience to use information from it.

xii_emisario's review against another edition

Go to review page

informative slow-paced

3.75

Siento que leí este libro muy tarde en mi carrera, creo que el momento prefecto hubiera sido después de unos dos o tres años de experiencia en desarrollo de software.

Si usted revisa código al aprobar por ejemplo un pull request, esta también será una herramienta muy útil.

kwugirl's review against another edition

Go to review page

4.0

Finally finished this, long after the book club for it was over! This is a classic, which means there are both really good pieces of wisdom in here as well as concerns that don't need to be worried about so much anymore with more modern tools and text editors. The majority of the book is kind of a reference of refactoring "recipes" with checklists to go through to make sure you haven't missed something--time will tell if I end up using that reference portion. The descriptions and motivations for performing said refactorings was all good though, since it went through both when you would or wouldn't use something. The main thing I learned was that your code should pretty much constantly be in a state of needing refactoring, since you shouldn't refactor until you know what the next thing you're doing is and it should be the first step.