• 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

  • Do Not Call Register

    I’m sure this was in the news, but somehow I missed it.

    The Australian Do Not Call Register is now open for business.

    “On your bike” Telemarketers!

  • Lean Software Engineering

    “Lean Thinking” is a process management philosophy, and is often associated with Toyota Production System.

    I first heard of this via my friend Jane, who is applying this in a healthcare setting.

    It might sound a bit strange using a manufacturing philosophy (where the business is all about production lines and making widgets) to a hospital (which normally deals with lots of people with various health problems). However I’ve heard they’ve been applying the lean principles with some positive effects to things like waiting times for people in emergency and also improving how patients are moved through the hospital - the “patient journey”.

    And so it isn’t just in healthcare that a manufacturing philosophy is being used - we now have Lean Software Engineering too. I’m not an expert on all the details, but it does seem to relate to a lot of the Agile practices that are becoming more popular now.