My Favourite WTFs (song parody)
I wrote [url=http://angelastic.com/2012/12/23/seven-of-clubs-the-bad-coders-favourite-things/]this little parody[/url] of the song My Favourite Things from The Sound of Music, about some of the WTFs I come across regularly. I hope you like it. The preview says that all my newlines have been destroyed, but I hope that's just the preview that's messed up, because I don't know how to make the newlines indestructible. Gaah, the preview was right. Well, click the link to see the properly-formatted version on my blog, if you like, or let me know how to make newlines work in this thing.
Catch all exceptions; what are they the heck for?
Just return nulls that the callers won’t check for,
or show an error box, if they insist,
brought back by loops every time it’s dismissed.
Checks and injection and joins are just theories;
just add more levels of nested subqueries,
lace all your filters with unescaped strings,
fetch from a multi-use table called THINGS.
Love the warning
all your huge source files;
they’re all just suggestions, there’s no need to test
as long as it all compiles.
Code reuse means not one code block is wasted —
ev’ry last one has been copied and pasted.
Make up for duplicates no more the same:
reclaim some space with a one-letter name.
I’ve used these same antipatterns since FORTRAN;
why should I listen to hacks I’m paid more than?
Even my students are older than you;
how dare you tell me I need code review?
Slam resource leaks
till you’re hoarse, geeks!
Rail against that kludge.
There’s no way to beat them; you’ll have to submit
to The Daily What The Fudge.
I haven't made a recording of it or anything, because my singing is TRWTF.
mod: fixed linebreaks –dh
I was involved in a design discussion not too long ago in which the implementation of a "ThingItem" table was suggested. "Thing" itself had already been described in the lead-up to "ThingItem," IIRC. Certain possible directions were abandoned at that point, on the basis of absurdity. To be fair, "ThingItem" probably made more sense than some of the crap that anti-RDBMS people invent.