我经常使用 WinApi 处理私有(private)项目,您可能知道,它有数千个命名和类型定义的结构,例如 MEMORY_BASIC_INFORMATION。
我会在我的问题中坚持这个,当你想命名这种类型的变量时,什么仍然是首选,或者更好。这种情况是否有某种风格指南?
例如,如果我需要 VirtualQueryEx 函数的变量。
一些想法:
MEMORY_BASIC_INFORMATION memoryBasicInformation;
MEMORY_BASIC_INFORMATION memory_basic_information;
只需使用非大写的结构名称,带或不带下划线。
MEMORY_BASIC_INFORMATION basicInformation;
MEMORY_BASIC_INFORMATION information;
缩写形式?
MEMORY_BASIC_INFORMATION mbi;
我经常看到这种风格,使用结构体名称的缩写。
MEMORY_BASIC_INFORMATION buffer;
VirtualQueryEx 定义了第三个参数 lpBuffer(您将指针传递给该结构),因此使用这个名称也可能是一个想法。
干杯
最佳答案
一般来说,不鼓励根据变量的类型来命名变量。相反,请尝试提供有关特定上下文和使用目的的附加信息。
使用 MEMORY_BASIC_INFORMATION 示例,考虑结构的上下文是什么。您是否正在使用这些信息来迭代许多此类信息结构?那么也许
MEMORY_BASIC_INFORMATION currentFrame;
或者,如果您正在对某些状态的内存信息进行测试,也许它是一个候选者。
MEMORY_BASIC_INFORMATION candidate;
现在您可以编写文档,例如“...的测试候选结构”。
您可能会发现您仍然希望使用类型前缀位置来包含类型信息。如果是这种情况,您可以将其称为 mbiCurrentFrame
或 mbiCandidate
。
如果目的或上下文确实是抽象的,例如 API 函数本身,我会选择一些简单直接的东西,例如 info
或 buffer
,除非这些名称在上下文中可能以某种方式被误解。
关于c - 如何命名结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708081/