Indeed WTF?!?


Orignal post from : http://thedailywtf.com/Articles/Meaningless-Progression.aspx (by Mark Bowytz)

Really, have a read through this one… Hilarious! 😀

“One of our desktop applications has a progress bar in it,” Bryce N. writes, “and as I was working more and more with the code, I noticed that the progress bar would progress to a seemingly random part in the bar, but never past the halfway mark. This would probably be ignored, if it weren’t for the fact that I noticed that my breakpoints would only be hit when the bar reached the ‘random’ mark.”

“While I was trying to discover why, I found this in the code:”

     /* There is really NO eloquent way of calculating what the progress
      * of a given method/task will be.  One task may be downloading or copying a file while another
      * one might be grabbing huge chunks of data for file creation.  Since we want to see
      * a progress indicator but can't determine this value, we'll simply play with it so it has the
      * appearance of running; (i.e. we'll take it to 50%, execute the task, then come back and finish
      * the progress upon completion.)  This is a Microsoft STANDARD... I'm sure of it!
      */

     Random R = new Random();
     int _percentage = R.Next(Convert.ToInt32(.5 * _bar.Maximum));

     string status = "";
     for (int i = 0; i < _bar.Maximum; i++)
     {
         if (i == _percentage)
         {
             //execute the real code
         }

         // Always perform progress step
         _bar.PerformStep();
     }

“Well, there you have it, the code tells the progress bar to progress somewhere between 0 and 1/5 the length of the bar, then execute the real code. Brillant!

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s