i often work on private projects using the WinApi, and as you might know, it has thousands of named and typedefed structs like MEMORY_BASIC_INFORMATION.
I will stick to this one in my question, what still is preferred, or better when you want to name a variable of this type. Is there some kind of style guide for this case?
For example if i need that variable for the VirtualQueryEx function.
Some ideas:
MEMORY_BASIC_INFORMATION memoryBasicInformation;
MEMORY_BASIC_INFORMATION memory_basic_information;
Just use the name of the struct non capitalized and with or without the underlines.
MEMORY_BASIC_INFORMATION basicInformation;
MEMORY_BASIC_INFORMATION information;
Short form?
MEMORY_BASIC_INFORMATION mbi;
I often see this style, using the abbreviation of the struct name.
MEMORY_BASIC_INFORMATION buffer;
VirtualQueryEx defines the third parameter lpBuffer (where you pass the pointer to the struct), so using this name might be an idea, too.
Cheers
In general, it’s discouraged to name variables based on their type. Instead, try to provide additional information about the specific context and purpose of the usage.
Using the MEMORY_BASIC_INFORMATION example, consider what the context is of the structure. Are you using the information to iterate over a number of such information structures? Then maybe
Or if you’re performing a test on the memory info for some status, maybe it’s a candidate.
Now you can write documentation like “test candidate structure for …”.
You may find that you still want to include type information using the type prefix location. If this is the case, you might call it
mbiCurrentFrameormbiCandidate.If the purpose or context is truly abstract, such as is the case with the API functions themselves, I would chose something simple and direct, such as
infoorbuffer, except in the case where those names could somehow be misinterpreted in the context.