| «« Bad iBook Mobos Replaced for Free | MVC 123 »» |
|
About
I'm Ryan Lowe, a Software Engineering graduate living in Ottawa, Canada. I like agile software development and Ruby on Rails.
I write this blog in Canadian English and don't use a spell checker. Typos happen.
Projects
» Full-time Ruby on Rails freelancer
» Full-time with Rails since May 2005 » Former committer for RadRails (now Aptana) » I also have a few Rails side-projects in development: 1. wheretogoinTO.com Toronto nightlife 2. Hey Heads Up! TODO list and sharing 3. Layered Genealogy family history research 4. foos for foosball scoring 5. fanconcert for music fans (on hold) Hiring Rails developers? I can telecommute by the hour from Ottawa, Canada »» Email: rails AT ryanlowe DOT ca
BulletBlog
Now hosted on Hey! Heads Up -- check it out!
Syndication
Pings
Recent
Derek Lowe's (Ryan's older brother) words at Ryan's funeral
blog@ryanlowe.ca no more Forging Email Headers: Good, Bad or Ugly? Sarcastic Dictionary (Part 1 of Many) Tags Hierarchies Twisting Rails is Risky Business Risky Business? My Take on Early Alphas Whoa, it's August 2007 Closing Comments A Postscript to "Growth at the grassroots" »» All Blog Posts
Linkage
del.icio.us/ryanlowe
technorati/ryanlowe.ca/blog Aurora Roy Jim Andrew Trasker Travis Kibbee Karen Dr. Unk Ayana Van Bloggers Joel Spolsky Robert Scoble Tim Bray Dave Winer Raymond Chen James Robertson Ruby/Rails Bloggers rubyonrails.org weblog David Heinemeier Hansson Dave Thomas James Duncan Davidson Mike Clark Jamis Buck Signal vs. Noise Tobias Luetke Amy Hoy: (24)slash7 Jeremy Voorhis Eclipse Bloggers Planet Eclipse EclipseZone Luis de la Rosa Eclipse Foundation Kim Horne Billy Biggs Ian Skerrett Mike Milinkovich Bjorn Freeman-Benson Denis Roy
Archives
|
On Refactoring
Wow, this has been my biggest refactoring job so far. All I have to say is that without the unit test safety net and Eclipse's refactoring support this would not have been practical. We had some wicked coupling because of the call-throughs we were doing, so I needed to mess up three layers at once. Now that I've got the UI working on a basic level again I'm going to go back to the sub-UI code. The worst thing you can do during a refactor is try to get features working right away. You'll just be chasing obscure bugs for hours on end. Once you have your post-refactoring bearing again start with methods on the bottom layers and make sure they are completely unit tested (we use jcoverage to check that). Then you can write the layer above it with the confidence that the layers below will work like you expect them to. Some people prefer the fix-a-little strategy as opposed to the rip-it-up strategy. I think there is a time and a place for both. Sometimes slowly refactoring will just take too long. When I get up to the user interface how am I going to make sure AudioMan works the same way that it did before the refactoring? Yep, I'm going to use the customer acceptance test spreadsheet. I'll publish that as soon as I figure out how to put the GPL in it. ;) Posted at January 29, 2004 at 07:09 AM ESTLast updated January 29, 2004 at 07:09 AM EST Comments
|