Friday, January 27, 2006
Comments on Comments
Del.icio.us brought me the Commentator yesterday -- a revolutionary tool that automatically comments your code for you as you write it. Ah, the wonders of technology.
As it happens, just a few days ago I was forwarded a copy of a comment-related document that I myself put together. While maintaining a fairly sizeable Web-based app, I finally camt to understood the degree to which comments give you a window into a developer's soul...though you may or may not want that insight, of course.
All comments below exactly as I found them in the wild, except that names have been changed to protect the guilty.
SomeCompany Comment Highlights
Some of the best comments that I've run across in my time at SomeCompany. The style indicates that they probably all came from Elmo, company founder and one of the greats of "Stream of Consciousness" programming.
First we have the informative comments. Pithy yet pungent, these casual asides have helped generations of developers navigate the twisted pathways of SomeCompany code:
;;; takes the shit out of textareas and turns them into nice little citizens
# gotta do all that bullshit with volume vs brokers discounts, all that crap.
Next, the incredulous; when you come across one of these, it's almost like you're sitting beside Elmo as he realizes just what he's gotten himself
# fuck, we have to figure this out based on total_price sum in lstats vs original price?
# add this file to our masterpurge file. unfortunately we have to sort this fucker when we are done too. fuck.
;;; gotta get the fucking list_id in order to load the bitch. makes us do 2 fucking queries?
Then we have the ever-popular "oops" comments. These are particularly enjoyable, as they invariably exist independent of any more detailed examination of the issue (or any indication of whether it was resolved):
;;; what the fuck is this crap? looks like I left a sponge in the patient.
Then, finally, my all-time favorite. I love the way that it just trails off into nothing...
;;; oh shit, it tries to write oracle too...