views:

324

answers:

9

Refactoring is the process of improving the existing system design without changing its behavior.

Besides Martin Fowler's seminal book "Refactoring - Improving the design of existing code" and Joshua Kerievsky's book "Refactoring to Patterns", are there any good resources on refactoring?

+3  A: 

Working Effectively with Legacy Code focuses on dealing with existing code-bases that need to evolve to be testable. Many techniques are used in the book to accomplish this, and is an excellent resource for refactoring.

Ben Scheirman
+1  A: 

If you're looking for more than just code refactoring, you might find Scott Ambler's book quite useful: http://www.ambysoft.com/books/refactoringDatabases.html

Andrei
+5  A: 

http://www.refactoring.com/ might help you. They have a long list of methods here:

Joel's article Rub a dub dub shows you why you should refactor and not rewrite (but I guess you already knew that rewriting is a thing you should never do..)

Espenhh
+1  A: 

Here are some Wiki pages about refactoring that explore various principles and guidelines.

Nathan Long
A: 

What is your codebase?

Eclipse has quite good support for Java. But unfortunately limited support for C++ code.

Heres an article from the makers..

Prakash
A: 

Refactoring HTML is new and relatively good, you can guess what it covers :)

Other than that the two books you mention are the two I've used most, but Agile Principles is also very good.

A: 

There is a 'cheat sheet' for code smells here: http://industriallogic.com/papers/

the empirical programmer
A: 

I would recommend reading Working Effectively with Legacy Code, then Refactoring - Improving the design of existing code. Martin Fowler's book is more like a receipt book for me, it explains how. Working effectively with legacy code, explains the why in my opinion.

below is some other books relating to refactoring:

antipatterns refactoring software architectures and projects in crisis

refactoring in large software projects performing complex restructurings

refactoring sql applications

Prefactoring

zeroin23
A: 

Sourcemaking - http://sourcemaking.com/refactoring

dr. evil