Chapter 1. Roadmap
This book is divided into three sections. Section 1 focuses on smells (problems) that occur within classes. Section 2 focuses on smells that occur between classes. Section 3 provides large programs for practicing refactoring in a variety of domains. Sprinkled among these sections, there are what I have called interludes—brief excursions into analyzing the refactoring catalog in Refactoring: Improving the Design of Existing Code, by Martin Fowler et al. (hereafter referred to as Fowler's Refactoring), or the patterns in Design Patterns by Erich Gamma et al. (similarly referred to as Gamma's Design Patterns).
In the first two sections, the chapters consist mostly of smells (warning signs of potential problems) and challenges ...