Those of us not accustomed to arduous change control policies and procedures put in place by many large institutions are likely unfamiliar with the second part of the “if it ain't broken, don't fix it“ motto. It's long, but it goes something like “ ... and if it it's only broken a little, say it's a feature ... and if it's broken a lot but can be fixed easily, pray that the code review overlords will not smite you for requesting such a puny change ... “

Apparently, Geert wasn't familiar with the “ ... and if it's an important feature that hasn't worked for quite a while ... “ part. He was searching for a bug in a Delphi module, and discovered a partial cause with some really poor error handling ...

var DeliveryNumber: integer;
//[ED: snip bunch of declarations]
  //[Snip - getting the DeliveryNumber]
  if IntToStr(DeliveryNumber) = '' then 
    //[Snip - lots of stuff processing the delivery .. that will of course never run]
    ShowMessage('Error DeliveryNumber not found.  Contact the program responsible person for help !');

Of course, because the users of the system were used to that message (and presumably had an incredibly painful workaround for the missing functionality), the business analyst chastised our poor programmer for even thinking of changing the code.

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