An Introduction to
December 3rd, 2009
What is Refactoring?
Changing internal structure without altering external
Manipulation of existing text for human benefit
Usually to improve Maintenance & Reusability
What is CodeRush?
Visual Studio 2008 Plug-In that adds additional features
to C# and VB.Net code editor
Some features vary with language difference
Built by DevExpress, maker of DXperience UI Library and
application support libraries
They also make “Refactor! For ASP.Net” and “Refactor! For C++”
Mentioned in the Pluralsight ASP.Net training (August
Only works on Visual Studio 2008 (Non-Express Editions)
Download from DevExpress Website
Run Visual Studio and start refactoring!
Improving Existing Code
Breakdown, change arguments, extract, or move methods
Simplify conditional logic
Convert parts of expressions into variables
Writing New Code
Implement stub for methods declared on-the-fly
Convert locals into fields or properties (or both!)
Aggregate functionality into new types
Re-organize types across new files
Don’t wait until the very end to refactor!
Be sure to assign meaningful names
Passing uninitialized variables by reference
CodeRush can’t optimize for reusability
Can’t look for repetitious code
CodeRush isn’t a replacement for design patterns