Defining Refactoring

The Two Hats

Why Should We Refactor?

When Should We Refactor?