Ward is not a lucky man. When the two main (read: only) developers of a flash application were fired, he was called in to clean up their mess. As he puts it,

A couple of months ago, I was asked to do a small update (5 hours work) to an application made by those 2 people (they made it together, so its even worse!). This application is for a government agency, and they already paid in advance for updates. I was told just to replace the database with updated material, compile an installer and ship it.

That sounded easy enough, but after 150 hours, 20k lines of code, a a visit from one of the ex-developers, he was still finding jewels like

  // find the next "value" divisible by "value"
  value += 1
  while ( 0 <> value%step )
  {
      value += 1
  }
and
  // is value negative?
  if ( "-" == value.toString().substr(0,1) )
  {
      // value is negative
      ...
  }

And to think, all these years I've been using value+=step and value<0. Needless to say, Ward's ray of sunshine came when his manager let him rewrite the project from scratch.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!