Naming is important

A recent post on a mailing list pointed me to a rant by Uncle Bob on ingrate developers. He's responding to comments on a blog entry from Michael Feathers on classic recommended reading material.

I'm going to use this to whine about a longstanding irritation: people who don't name their documents appropriately. If you click on the link for "Programming as an Experience: The Inspiration for Self" you'll go to:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.562

Not exactly a Cool URI, is it? If you click on the 'Download PDF' link you'll get a popup from your browser asking if you'd like to save the document using the name:

10.1.1.31.562.pdf

Compare that to the URL for "On the Criteria to be Used in Decomposing Systems into Modules":

http://sunnyday.mit.edu/16.355/parnas-criteria.html

The awful document names are typically generated by content management systems, where some brilliant developer decided to use what's likely an internal, meaningless but unique identifier because, you know, someone might want to download the entire library to a single directory.

This isn't limited to naming on the web. Take applying for a job. How many times do you as a resume reviewer get an email with attachments named like this?

resume.pdf
cover letter.doc

This is even more irritating than the CMS-generated one. With the CMS someone ceded the decision when the system was built and likely left the customer whose documents are being served no choice. With the resume the person who created the document is being the bonehead. And on top of that, the whole point of a resume is to sell yourself! Even before I've opened the thing you've annoyed me.

Left for another time: bitching about naming classes and variables, and the usefulness of tools that allow you to change these names reliably across a large codedbase.


[1] The destructive need for everything to be free is the subject of a blog that I have no time to write.