Naming Variables
Russ Cox writes:
A name’s length should not exceed its information content. For a local variable, the name
iconveys as much information asindexoridxand is quicker to read. Similarly,iandjare a better pair of names for index variables thani1andi2(or, worse,index1andindex2), because they are easier to tell apart when skimming the program. Global names must convey relatively more information, because they appear in a larger variety of contexts. Even so, a short, precise name can say more than a long-winded one: compareacquireandtake_ownership. Make every name tell.The information content metric gives a quantitative argument against long-winded names: they’re simply inefficient. I internalized this metric years ago but only realized this phrasing of it recently, perhaps because I have been looking at too much Java code.
Yes, x sucks, but maybe I should stop writing tweet-sized variable names?