CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeffrey Palermo (.com)

Blog moved to www.jeffreypalermo.com

What would I do without an automated refactoring tool? - level 200

Today, I made a commit to Subversion that encompassed over 200 code files.  What was the change?  I moved a delegate from sharing a code file with a class to be in its own file and put it in another namespace.  Pretty harmless change, but so much code uses this very common delegate.  As you know, I'm using Resharper, so here are my keystrokes:

  • F6 to "move" the Type.
  • TAB
  • down arrow (to move delegate to new file).
  • ENTER
  • F6 (to move to new namespace)
  • {type in new namespace}
  • . . . wait 10 seconds for Resharper to make appropriate changes to "using" statements in over 200 code file.
  • CTRL+SHIFT+S (save all)
  • CTRL+SHIFT+B (compile)

I run my automated build (with 1450+ test), and check in.

I remember back to when I didn't use a refactoring tool.  You know what I would have done?  I wouldn't have made the change.  The overhead would have been too great.  I would have left the misplaced delegate definition.

Please.  Do yourself a favor.  Don't develop with POVS (plain old Visual Studio).  Use a coding add-in.  Use Resharper.  Use CodeRush/Refactor.  Use JustCode!  Use something! 



Comments

John Papa said:

How sweet it is!

# March 2, 2007 11:44 PM

Ayende @ Rahien said:

Why I don't like the Team System SCM

# March 3, 2007 2:12 PM

Scott Dukes said:

Steps 2 & 3 can be replaced with a single ALT-F (ReSharper conveniently fills in the file name based on the class - awesome isn't it!).

# March 5, 2007 12:02 AM

Jeffrey Palermo said:

Scott,

Great! I learn a new shortcut every day!!

# March 5, 2007 7:20 AM

Jeremy D. Miller said:

What would I do without an automated refactoring tool?

-- The correct answer is "have to do much more upfront design because change would be more expensive"

# March 5, 2007 7:41 AM

About Jeffrey Palermo

Jeffrey Palermo is a software management consultant and the CTO of Headspring Systems in Austin, TX. Jeffrey specializes in Agile coaching and helps companies double the productivity of software teams. Jeffrey is an MCSD.Net , Microsoft MVP, Certified Scrummaster, Austin .Net User Group leader, AgileAustin board member, INETA speaker, INETA Membership Mentor, Christian, husband, father, motorcyclist, Eagle Scout, U.S. Army Veteran, and Texas A&M University graduate. Check out Devlicio.us!

This Blog

Syndication

News

Headspring Systems

View Jeffrey Palermo's profile on LinkedIn

See my new blog at .jeffreypalermo.com