VC++ MFC 变量命名规范与前缀

5星 · 超过95%的资源 需积分: 15 26 下载量 196 浏览量 更新于2024-09-17 收藏 131KB PDF 举报
"VC++ MFC 变量前缀命名规则" 在VC++ MFC编程中,遵循一套规范的变量命名规则对于代码的可读性和团队协作至关重要。匈牙利命名法是这种规则的一个典型体现,它由三个主要部分组成:范围前缀、类型前缀和限定词。 1. **范围前缀**: - `g_` 表示全局作用域,全局变量通常应避免过度使用,但在需要时可以加上这个前缀以标识其作用范围。 - `m_` 表示成员变量,用于区分类的内部变量与其他变量。 - `l_` 表示局部作用域,用于标记函数或方法内的临时变量,但推荐尽可能减少局部变量的使用。 - 对于特定模块,例如特征模块(Fea)、草图模块(Sket)、装配模块(Asm)、工程图模块(Lay)和曲面模块(Surf),可以自定义前缀以反映其所属的模块。 - 特殊约定如`_Mt`用于MouseTool派生类,`CDlg`用于对话框类,`_Rb`用于橡皮条类。 2. **类型前缀**: - `Lm` 用于类和接口,非全局类的前缀应具有模块语义,以区分其来源。 - `I` 用于表示接口,如`IUnknown`。 - 类型前缀`a`, `b`, `n`, `w`, `l`, `dw`, `p`, `lp`, `lpsz`等用于不同类型的变量,如下所述: - `ch` 和 `TCHAR`:表示字符类型,根据Unicode设置可能是8位或16位。 - `b`:表示布尔值`BOOL`。 - `n`:表示整型变量,大小依赖于操作系统。 - `w`:表示16位无符号整型`WORD`。 - `l`:表示32位有符号整型`LONG`。 - `dw`:表示32位无符号整型`DWORD`。 - `p` 和 `lp`:表示指针,`lp`通常用于远指针。 - `lpsz`:表示指向字符串的指针`LPSTR`。 3. **限定词**: - 限定词通常紧跟在类型前缀之后,用于进一步描述变量的用途,如`chGrade`中的`Grade`或`bEnabled`中的`Enabled`。 遵循这些规则,开发者可以创建出结构清晰、易于理解的代码。一致性是关键,当整个团队都使用相同的命名规则时,代码的可维护性将大大提升。记住,好的命名是代码自解释性的基础,可以帮助其他开发者更快地理解和修改你的代码。