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 |