“…an author, with thesaurus in hand, chooses the names of variables carefully…” — Knuth, Literate Programming
The Elements of Style‘s invaluable advice for prose (“Omit needless words”) is mapped into C coding as “Curt names win”: I crave descriptive, short, punchy names. Though perhaps not to the extent of K&R, whose approach might be described as “Omit needless vowels”.
Sometimes though, I get baffled by my own bullshit. Yesterday I was benchmarking Judy arrays vs hash tables (more in another post) and I noticed that I had named two equivalent functions “htable_find” vs “jmap_get”. In my mind find has overtones of searching and get has more direct connotations: say, a simple dereference. So why did I name them differently? I had to implement that htable_find myself, whereas for jmap_get I only implemented a one-line wrapper :)
Since the operations are very fast, jmap is already a published CCAN module, and get is one letter shorter than find, I renamed htable_find to htable_get. Consistent naming has benefits of its own…