Refactoring Catalog

Michael L. Collard, Ph.D.

Department of Computer Science, The University of Akron

Fowler's Catalog

  • List of each refactoring and links to individual refactorings
  • Primary name - second edition
  • Secondary names - first edition
  • Code examples are in Javascript
  • May not include all second-edition refactorings


  • Composing Methods
  • Organizing Data
  • Moving Features Between Objects
  • Simplifying Conditional Expressions
  • Simplifying Method Calls
  • Dealing with Generalization
  • Big Refactorings

Composing Methods

Simplifying Conditional Expressions

Organizing Data I

Organizing Data II

Moving Object Features

Simplifying Method Calls I

Simplifying Method Calls II

Dealing with Generalization

Dealing with Generalization II