This is a collection of descriptions of Refactorings. The descriptions are original to this site although many of the names are taken from Martin Fowler’s book “Refactoring” 2nd Edition.

Refactoring structure

Each refactoring is described using the structure “Identify - Prepare - Refactor - Clean - Follow up”.

IDE Support

In some cases the refactoring descriptions includes references to ways your IDE can help you do them more safely. This is intended to help you use your tools better, but be warned - IDEs differ in details and are frequently updated. Descriptions may not always be entirely correct. If there is a note your IDE can help you but yours doesn’t seem to do that, look around the menus and see if the assistance is there just under another name.

In the JetBrains family of tools I recommend looking in these three menus when you right click on a program element:

Once you’ve found the option you want, I recommend learning the keyboard shortcut for it.