views:

285

answers:

8

Will it be easy for a C++ developer to read Refactoring: Improving the Design of Existing Code

Is there any other book that I should read about refactoring? Feel free to add any articles on refactoring.

+1  A: 

Read a book called Refactoring by Martin Fowler.

Ritesh M Nayak
Yes, that's the one he's referring to.
Otávio Décio
+1  A: 

Easy? Maybe yes, maybe no. Fact of the matter is, this book should apply to C++ because the principles it defines are transferable to java-like languages (C#, C++). It is definitely a recommended read.

Otávio Décio
+2  A: 

As far as I know there is no book about refactoring, that has examples in c++. Mostly it is Java sometimes it is C#. But the basic concepts are the same - so I do not see the problem with language mix.

Gambrinus
A: 

Refactoring to Patterns by Joshua Kerievsky

Language used in the book shouldn't matter, the concept is what is important. This book is a practical approach to refactoring.

alphadogg
+9  A: 

If you work with legacy code then it may be worth getting Working Effectively with Legacy Code by Michael Feathers.

graham.reeds
Agreed. I'm working my way through this now, and it really clarifies the use of these techniques on code that didn't have them from the start.
Ben Straub
I agree this is more useful book for real world practice!
Ketan
There's also a short PDF version here http://www.objectmentor.com/resources/articles/WorkingEffectivelyWithLegacyCode.pdf
MarkJ
+1  A: 

Yes, Refactoring will be an easy read for a C++ developer. The code examples are in Java, but Fowler doesn't do anything in the book that's very specific to that language. He doesn't use Java's Reflection API or build an Enterprise Application. :)

The examples are all pretty straight-forward data classes that have a few responsibilities. You should have little trouble understanding what's going on.

Bill the Lizard
A: 

I'm a "C++ developer" and I found it easy and interesting, and I had no trouble understanding the examples.

ChrisW
+2  A: 

I'm the author of Refactoring to Patterns. I have recently completed work on a multimedia album about Refactoring (in C++, Java, and soon, C#).

You can look at samples of this album here:

In addition, if you want to get good at recognizing what kind of code needs refactoring, you can consider studying my album on Code Smells as well. See