A variable should never have “data” as part of its name; everything stored in a computer is data.

A variable named “data” alone is in especially urgent need of renaming.

Corollary: a struct or class name that ends with “Data” should lose the “Data” for the same reasons. And “info” is another word for “data,” so the same applies to it as well.

365,585 hits for “DataInfo” on github sadden me.

Functions do things, so their names should include a verb that describes their action. Order verb and target as in English, so it’s “CreateContext”, not “ContextCreate”.

However, if the best you can come up with is “compute” as your choice for that verb, go ahead and lose it; computing is what all functions do (see “data”).


I know that I learned the function verb thing from Kurt Akeley, back when he at NVIDIA for a bit in the early 2000s, but am not sure where I picked up the “data” allergy.

Surprisingly, the Google C++ style guide, which is chock-full of pedantry, is only worried about capitalization and underscores in its section on naming things. Code Complete has a great chapter on naming variables, but my copy (1993, first edition, represent) doesn’t seem to have anything about “data”.