This approach helps you learn and apply the most important refactoring techniques to your code and, as a side benefit, helps you to think more about creating great code even when you're not refactoring. "Refactoring Workbook" provides user-friendly references such as: a handy, quick-reference "smell finder"; a standard format for describing smells; appendices showing key refactorings; and, a listing of Java' tools that support refactoring. This book is intended for programmers with a knowledge of Java, though a C# or C++ programmer with a basic understanding of Java would also be able to follow and learn from the examples. It can be used as a companion to Martin Fowler's "Refactoring" (also from Addison-Wesley Professional), which provides step-by-step instructions for many refactorings.