Thursday, 10 May 2007

Comparing Refactor Pro, ASP.NET and VB.NET

Developer Express have released new versions (2.2.2) of their ASP.NET and VB.NET refactoring tools.

These are both free cut-down versions of their Pro product (USD99 per license).

I was curious as to what the overlap was between the three products, as they don't appear to have a nice comparison table on their website. So here's list of the included refactorings in each edition:

 

Refactor! Pro Refactor for ASP.NET Refactor for VB + Bonus
Add Block Delimiters
Add Parameter Add Parameter
Add Validator Add Validator
Boolean to Enum
Break Apart Parameters
Case to Conditional
Change Tag
Collapse Accessors
Combine Conditionals
Compress to Null Coalescing Operation
Compress to Ternary Expression
Conditional to Case
Convert to HEX
Convert to Named Color
Convert to RGB
Create Method Contract Create Method Contract
Create Method Stub
Create Multi-variable Declaration
Create Overload Create Overload Create Overload
Create Setter Method
Create With Statement Create With Statement
Decompose Parameter
Encapsulate Field Encapsulate Field Encapsulate Field
Expand Accessors
Expand Null Coalescing Operation
Expand Ternary Expression
Extract ContentPlaceHolder Extract ContentPlaceHolder
Extract ContentPlaceHolder (and create master page) Extract ContentPlaceHolder (create master page)
Extract Function (outside of class)
Extract Interface Extract Method Extract Interface
Extract Method Extract Property Extract Method
Extract Property Extract Style (Class) Extract Property
Extract Style (Class) Extract Style (id)
Extract Style (id) Extract to User Control
Extract to User Control Flatten Conditional
Flatten Conditional Flatten Conditional
ForEach to For
For to ForEach
Inline Format Item
Inline Macro
Inline Recent Assignment
Inline Result Inline Temp
Inline Temp Inline Temp
Inline With Statement Introduce Constant Inline With Statement
Introduce Constant Introduce Constant
Introduce ForEach Action
Introduce Format Item Introduce Local
Introduce Local Introduce Local (replace all) Introduce Local
Introduce Local (replace all) Introduce Local (replace all)
Introduce Result Variable
Introduce Setter Guard Clause
Line-up Arguments
Line-up Parameters
Lock to Try/Finally
Method to Property Move Declaration Near Reference Method to Property
Move Declaration Near Reference Move Initialization to Declaration Move Declaration Near Reference
Move Initialization to Declaration Move Initialization to Declaration
Move Method to Header
Move Method to Source File Move Style Attributes to CSS
Move Style Attributes to CSS Move to Code-behind
Move to Code-behind
Move Type to File
Property to Method Property to Method
Optimize Namespace References
Remove Assignments to Parameters Remove Assignments to Parameters
Remove Block Delimiters
Remove Empty Handler
Remove Parameter Remove Unused Parameter
Remove Private Setter
Remove Redundant Conditional
Remove Setter Guard Clause
Remove Tag
Remove Type Qualifier
Rename File to Match Type
Rename Style Rename
Rename Rename
Reorder Parameters Rename Local
Reorder Parameters Replace Temp with Query Reorder Parameters
Replace Temp with Query Replace Temp with Query
Replace with Alias
Replace with Constant
Replace with Local Reverse Conditional
Reverse Conditional Safe Rename Reverse Conditional
Safe Rename Simplify Expression Safe Rename
Simplify Expression Split Initialization from Declaration Simplify Expression
Split Initialization from Declaration Split Initialization from Declaration
Split Multi-variable Declaration Split Temporary Variable
Split Temporary Variable Split Temporary Variable
Split With Statement Surround with Update Panel
Surround with Update Panel
Use IsNullOrEmpty
Use StringBuilder
Use String.Compare
Use String.Format Use String.Format
Using to Try/Finally
Widen Scope Widen Scope

1 comment:

Anonymous said...

I'm using the free version of refactor. In one web project that I'm working on right now, the "Extract to UserControl" doesn't create the ASCX file automaticaly. It does in some other web project. Is there any restriction for this?