The Weird and The Wonderful

The Weird and The Wonderful forum is a place to post Coding Horrors,
Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid
workarounds and developers just not quite getting it. And then somedays we come across - or write -
the truly sublime.

Post your Best, your worst, and your most interesting. But please - no
programming questions . This forum is purely for amusement and discussions on code snippets. All
actual programming questions will be removed.

Voting is turned off at present, as you can see from the lack of 1-5 options at the bottom of this.
The only available option is to report things with the Red Flag which is only supposed to be used for spam and abuse, neither of which is relevant to any of your posts I can see in this thread. I can only assume that someone feels that the subject is not appropriate for this forum (which it isn't really, it should be in the Sugs'n'Bugs forum) but to report it is a little bit of an over-reaction. Still, people are all different!

Ignore it - it doesn't affect you in any real way.

If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

I just found this little gem in the same app I'm rewriting. This legacy website is the gift that just keeps on giving.

<spanstyle="font-weight: normal; color: Red; font-size: 11pt; font-family: Arial"><spanstyle="color: #000000">
This paragraph is black!
<br/><ahref=""style="color:black">And this link is black!</a></span><br/>
But this paragraph is red!
<br/></span><spanstyle="font-weight: normal; color: Red; font-size: 11pt; font-family: Arial">
And this other text is red, but identical in every other way.
</span>

Also, it goes without saying that I cleaned this up for the post. There's no rhyme or reason to the indentation and line breaks in this code.

<blockquoteclass="FQ"><divclass="FQA">Marcus Kramer wrote:</div><tableclass="quick"cellspacing="0"cellpadding="5"width="100%"><tbody><tr><tdid="prevMsgCnt"><divid="ctl00_MC_PrevContent">Looks to me like the code was generated by a tool...<br>&nbsp;<br>
Wysiwyg html editors will often produce ridiculousness like this.</div></td></tr></tbody></table></blockquote>

I was about to remove the WYSIWYG line, but decided not to when I saw the quote code. (Listed above for reference)

At my current job we've got a lot of legacy code like that. Just put + "" to the end of every object you can imagine. It will effectively convert the object which you already had to a string and from there you can convert it back to whatever you want (but Val() is indeed very popular!).
My company even had its own Val() function which returned 0 if an Exception was thrown

Panic, Chaos, Destruction. My work here is done.Drink. Get drunk. Fall over - P O'H
OK, I will win to day or my name isn't Ethel Crudacre! - DDEthel Crudacre
I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer
Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

Panic, Chaos, Destruction. My work here is done.Drink. Get drunk. Fall over - P O'H
OK, I will win to day or my name isn't Ethel Crudacre! - DDEthel Crudacre
I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer
Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

which, apparently was a workaround for a compiler bug which sometimes generated the wrong code for

x = -y;

I've also seen lots of legacy code of the type you've described but not in VB. The thing is that the concatenation operator is & so think about why they've used + before you change it. Sometimes there is a reason for using the +. Just make sure the item on the right is a string: it may not always be a string. When it isn't, what is happening and what are they doing?

No one really knows... There's lots of obscure bugs in code like that Luckily, one of the other 'magical solutions for all your problems' is the wonderful On Error Resume Next command. Really, if it was allowed people would've used On Error Resume Next + ""

That is a programmer's trick to handle null values - it converts a null value to an empty string, which then evaluates to zero. The use of the ampersand (&) makes this work - if the plus sign (+) is used to concatenate, an invalid use of null error will be thrown, as any variable concatenated using + will be nulled if any of the concatenated values are null