I’ve been collecting a few common-sense rules that I wish the whole world followed. See what you think.
– When you take user input, allow as much leeway as possible. Let people do things like add spaces or other whitespace to the beginning or ending of their input. Or if you’re expecting a domain name, allow users to type in a url; just extract the domain from the url.
– If you have output files with dates, you should name things in the order YYYY-MM-DD, not MM-DD-YYYY. That way, whenever you sort a list of filenames, they’ll be in chronological order.
– If you think you’ve found an issue or bug, when you tell someone about it, give them enough info to recreate the problem.
– If you get bitten by a bug or an issue, fix the immediate problem. Then ask yourself “How could I keep this bug or problem from ever happening again?” Maybe it’s as simple as adding monitoring so that things don’t fail silently. Maybe a poor UI causes bad input. Maybe your code needs to do more safety checks or stricter input checking. Don’t just fix a problem–try to go to the root cause and make it impossible for that problem to reappear.
– When you’re sending out an email that several people are reading, don’t use pronouns. “He should be able to tackle this afterwards” may make a ton of sense to you, but don’t assume other people will know who “he” is, what “this” is, and what “afterwards” refers to.
– If you’ve got a file you want to show that’s less than 100,000 lines or so, put it into a web directory and just send out the url. Then people can access the raw file if they want, or look at the file in their browser.
– If you email many people and ask for someone to do something, no one’s responsible. It’s better to ask one specific person to take the action.
– If you’re sending out an email with links in it, check your links by clicking on them before you send that email.
– As soon as you type “I’m cc’ing (someone)” in an email, go up and cc them right then. You look silly when you say you’re cc’ing someone and then you don’t.
– Try to keep hyperlinks short enough so that they don’t wrap around or get cut off by someone’s mail program.
– It can be difficult to keep a secret on the web. If you are working on some innovative, amazing product that no one has ever seen before, strip your referrers. Also, sanitize any PowerPoint you make available. You probably shouldn’t change how you handle new subdomains or urls either. Remember, if a url is supposed to be private but anyone can access it on the web by visiting the url, someone will stumble across the url; use an .htaccess file to provide password protection on Apache servers. Because if people are interested enough, they will dig through your source code, monitor your robots.txt, and study which domains you buy, even if you buy them through another company. Plan according to how much scrutiny you expect. Update: Some people are even willing to go through the internal text files that you provide for translation/localization.
– When doing any messy task like cleaning out your cat’s litter, do it with your mouth closed.
– If you ask 100 people to do something, only about 25 will do it. If you threaten death and dismemberment, about 60 people will do it.
– When you’re in a conversation about something that you want, and you’ve gotten approval: stop talking and leave.
What rules of thumb would you suggest?