Refactor! Pro refactorings list
July 12th, 2010
With the latest release of Refactor! Pro, DevExpress increased the count of refactorings. For greater clarity, refactorings are divided into the following categories:
- ASP.NET
- Changing Signatures
- Conditionals
- Contracts
- Dead Code
- Declaration and Initialization
- Expressions
- Formatting and Structure
- Interfaces
- Lambda Expressions & Anonymous Methods
- Loops and Blocks
- Macros
- Moving/Extracting Methods
- Parallel Computing
- Properties and Fields
- Renaming
- Resource Files
- Strings
- Types, Typecasting & Namespace References
- Visibility
- XML, HTML, and XAML
Refactorings, by category are below:
ASP.NET
- Add AssociatedControlID Attribute*
- Add RunAt Attribute*
- Add Validator*
- Convert Color to HEX
- Convert Color to Named Color
- Convert Color to RGB
- Convert to Pixels
- Convert to Points
- Convert to Skin
- Extract ContentPlaceHolder (and create master page)
- Extract ContentPlaceHolder
- Extract Script
- Extract Style (Class)
- Extract Style (id)
- Extract UserControl
- Make ID Unique
- Merge Styles
- Move Style Attributes to CSS
- Move Style Attributes to External CSS
- Move Style Attributes to Theme (use SkinID)
- Move Style Attributes to Theme
- Move to Code-behind
- Set CssClass*
- Split Style
- Surround with Update Panel*
- Toggle ViewState*
Changing Signatures
- Add Parameter
- Create Overload
- Decompose Parameter
- Introduce Parameter Object
- Convert to Point
- Convert to Tuple
- Convert to Size
- Make Extension
- Make Member Non-static
- Make Member Static
- Promote to Parameter
- Promote to Parameter (optional)
- Reorder Parameters
- Safe Rename
Conditionals
- Case to Conditional
- Collapse Conditional
- Combine Conditionals (nested)
- Combine Conditionals (parallel)
- Compress to Null Coalescing Operation
- Compress to Ternary Expression
- Conditional to Case
- Expand Conditional
- Expand Null Coalescing Operation
- Expand Ternary Expression
- Flatten Conditional
- Initialize Conditionally
- Reverse Conditional
- Split Conditional
- Split Conditional (and duplicated else block)
Contracts
Dead Code
- Remove Empty Handler
- Remove Parameter
- Remove Private Setter
- Remove Redundant Call
- Remove Redundant Constructor
- Remove Redundant Delegate Creation
- Remove Redundant Qualifier
- Remove Redundant Type Specification
Declaration and Initialization
- Convert to Constant
- Convert to Initializer
- Decompose Initializer
- Make Explicit
- Make Explicit (and Name Anonymous Type)
- Make Implicit
- Move Declaration near Reference
- Move Initialization to Declaration
- Name Anonymous Type
- Remove Assignments to Parameter
- Split Initialization from Declaration
- Split Temporary Variable
- Use Named Arguments
Expressions
- Convert to Is Nothing
- Create Case Blocks from Enum*
- Inline Constant
- Inline Recent Assignment
- Inline Result
- Inline Temp
- Introduce Constant
- Introduce Constant (local)
- Introduce Local
- Introduce Local (replace all)
- Introduce Result Variable
- Replace with Constant
- Replace with Local
- Simplify Expression
- Use Equality Operator
Formatting and Structure
- Break Apart Arguments
- Break Apart Parameters
- Compress Assignment
- Create Multi-variable Declaration
- Expand Conditional
- Line-up Arguments
- Line-up Parameters
- Split Multi-variable Declaration
- Use Implicit Line Continuation
Interfaces
Lambda Expressions and Anonymous Methods
Loops and Blocks
- Add Block Delimiters
- Consolidate Using Statements
- Create With Statement
- For to ForEach
- ForEach to For
- Inline With Statement
- Introduce ForEach Action
- Introduce Using Statement*
- Lock to Try/Finally
- Remove Block Delimiters
- Split Using Statement
- Split With Statement
- Using to Try/Finally
Macros
Moving/Extracting Methods
- Extract Function (outside of class)
- Extract Method
- Extract Method to Type
- Extract Property
- Inline Method
- Inline Method (and delete)
- Move Method to Header
- Move Method to Source File
- Pull Member Up
- Replace Temp with Query
Parallel Computing
- Convert to Parallel
- Execute Statement Asynchronously (FromAsync)
- Execute Statement Asynchronously (StartNew)
- Execute Statements in Parallel
- Execute Statements in Serial
Properties and Fields
- Collapse Accessors
- Convert to Auto-implemented Property
- Convert to Auto-implemented Property (convert all)
- Create Backing Store
- Create Setter Method
- Encapsulate Field
- Encapsulate Field (read-only)
- Encapsulate Event
- Encapsulate Method
- Encapsulate Property
- Expand Accessors
- Introduce Setter Guard Clause*
- Make Read-only
- Method to Property
- Property to Method
- Remove Setter Guard Clause*
Renaming
Resource Files
- Extract String to Resource
- Extract String to Resource (replace all)
- Extract to XAML Resource (replace all)
- Extract to XAML Resource
- Extract XML Literal to Resource
- Replace with XAML Resource
Strings
- Concatenate Strings
- Inline Format Item
- Introduce Format Item
- Split String
- Use Environment.NewLine
- Use IsNullOrEmpty
- Use IsNullOrEmpty*
- Use String.Compare
- Use String.Format
- Use StringBuilder
Types, Typecasting and Namespace References
- Boolean to Enum
- Convert to Built-in Type
- Convert to System Type
- Encapsulate Downcast
- Inline Alias
- Introduce Alias
- Introduce Alias (replace all)
- Move Type to File
- Move Type to Namespace
- Optimize Namespace References
- Remove Type Qualifier
- Remove Type Qualifier (replace all)
- Rename File to Match Type
- Rename Type to Match File
- Replace with Alias
- Sort Namespace References
- Use Explicit Notation
- Use Implicit Notation
Visibility
XML, HTML, and XAML
- Add End Tag
- Break Apart Attributes
- Change Tag*
- Extract to XAML Template
- Line-up Attributes
- Remove Attribute*
- Remove End Tag
- Remove Tag*
- Reorder Attributes
- Surround with Tag*
*NOTE: feature may change program behavior.
—– Products: CodeRush Pro with Refactor! Versions: 12.1 and up VS IDEs: 2008 and up Updated: Sep/21/2012 ID: R008