|«« Masters Part 2||Gimme a Break »»|
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.
» 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
Now hosted on Hey! Heads Up -- check it out!
Derek Lowe's (Ryan's older brother) words at Ryan's funeral
firstname.lastname@example.org no more
Forging Email Headers: Good, Bad or Ugly?
Sarcastic Dictionary (Part 1 of Many)
Twisting Rails is Risky Business
Risky Business? My Take on Early Alphas
Whoa, it's August 2007
A Postscript to "Growth at the grassroots"
»» All Blog Posts
David Heinemeier Hansson
James Duncan Davidson
Signal vs. Noise
Amy Hoy: (24)slash7
Luis de la Rosa
Software Testing and Creativity
Some developers think that if they are forced to test their software seriously THEMSELVES (ie. not with a separate testing group), it may stifle their creativity in some way. Developers can get into a "hacking zone" and just produce produce produce. How do you know what you produce isn't a load of bung? With tests.
With test-driven development, you can "define" your system requirements in terms of tests. Then use your creativity to make these tests pass, refactoring your solution as you progress. Since you are confident that what you have is always correct after you refactor because of the tests, it allows you to take larger refactoring risks than normally possible. You have less to keep track of in your head - "will feature X still work if I do refactor Y?" - and you have more brain horsepower for writing a creative solution to the problem ...
... which is making all of the tests pass. :)
So writing your own tests actually allows you to be *more* creative because you have the safety net and less to worry about. Unless you don't care about the quality of the code you produce - in which case you are on your own.Posted at April 06, 2003 at 07:08 PM EST
Last updated April 06, 2003 at 07:08 PM EST