'Shortcut' defined

grantm on 2005-04-10T11:05:01

I've often heard it said that a 'shortcut' is "the longest distance between two points".

Somehow I found myself developing a database application for my wife, in my 'spare' time. I really, really didn't have time to do this, but it had to be done, so I took a couple of shortcuts. The net result of which was that I had to throw away pretty much everything half way through and begin again.

So many things went wrong that just would not have happened if I'd treated this like any project in my day job. Of course it's not fair to compare coding at home to coding at work. The office environment is intended to facilitate the flow of productive work. A home with two kids is not. At least 80% of the time I've spent on this project was wasted time.

Anyway, I've finally managed to deliver something I'm happy with. The system survived the first demo (during which only two minor bugs came to light) and the 'client' seems happy. I'd like to say I've learned some lessons, but none of it was anything I didn't already know:

  • If you can't write a test for it you don't understand the problem
  • Known bugs should be fixed before new functionality is added
  • Hierarchical data does not sit comfortably in a relational database ...
  • ... and Class::DBI doesn't make that any easier
  • Windows is not Linux