CodeSOD: Latrinalia
My favorite bar in Pittsburgh is a bit of a dive. Like any good dive, the bathroom is covered in the incoherent scrawl of thousands of drunks. It's a mix of jokes, political flamewars, and just absolute nonsense. My favorite part about it, though, is that it just makes me think about the long history of latrinalia. For as long as there have been humans, we've been scribbling on whatever surface was at hand, and a lot of those scribbles have been made while we answer nature's call.
Programmers have their own form of latrinalia: code comments. They're frequently vulgar, they're sometimes comprehensible only to the person who wrote them, and we all like to pretend that they're more meaningful than they are.
So let's take a look at a few mysterious scribbles on the bathroom walls of code.
We start with this one, from Johann:
-- 8< --do not repove this file!!!! it's used from build system as marup file-- >8 --
Johann writes: "Found this a while ago in a company that thankfully fired me. Needless to say, this file was unused."
Sometimes, we encounter our own comments in the future, a reminder of the past crap we've done, like this one from Chris:
topScreenBorder=getHeight()-getHeight()+getHeight()/100*20; //now if thats not a bollocks to understand I don't know what is!
"Thankfully," Chris writes, "I no longer code while obviously drunk."
Sometimes, the scrawl forces us to ask difficult questions. Like, for example, can a location be valid? And if I'm not sure, what do I do? Daniel's codebase can answer at least the first question:
/** * Could a location be valid? * * @param location * @return false if location is valid, null if it cannot be determined, true otherwise. */ Boolean isValid(String location);
Much like latrinalia, comments tend to get overlaid with future comments. The results can obscure or destroy the original meaning of everything, which is what brings us to this poetic comment from David:
//TODO: where am I calling this from? //TODO: out where I make $psj, remember: // if[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!