VC++命名规范:匈牙利命名法详解
需积分: 15 60 浏览量
更新于2024-09-17
收藏 131KB PDF 举报
"VC++变量,范围前缀等命名规则.pdf"
在VC++编程中,遵循良好的命名规范是非常重要的,因为它可以提高代码的可读性和可维护性。匈牙利命名法是一种广泛使用的变量命名方法,它通过在变量名中包含类型信息来帮助程序员更好地理解代码。以下是关于VC++变量命名规则的详细解释:
1. **匈牙利命名法规则**:
- **范围前缀(Scope Prefix)**:这个前缀用于指示变量的作用域。例如,`g_`表示全局变量,`m_`表示成员变量,`l_`表示局部变量。尽量避免使用全局变量,如果必须使用,可以添加特定模块的前缀以增加可读性,如`g_Fea_SomeVariable`。
- **类型前缀(Type Prefix)**:这部分用来表示变量的数据类型。例如,`b`代表`BOOL`,`n`代表`int`,`w`代表`WORD`,`l`代表`LONG`,`dw`代表`DWORD`,`p`和`lp`代表指针类型。
- **限定词(Qualifier)**:这通常指的是变量的具体用途或特征。例如,`chGrade`中的`Grade`,`bEnabled`中的`Enabled`。
2. **特殊类型命名约定**:
- 类和接口的命名:类前缀通常是`Lm`,表示类的模块归属。接口前缀`I`,如`IUnknown`。对于非全局类,使用具有语义的前缀,比如`LmSketchPoint`表示草图点的类。类实例命名通常带下划线前缀,如`_StartPoint`和`_EndPoint`。
- 特殊约定:某些特定类如`MouseTool`的派生类前缀为`_Mt`,对话框类前缀为`CDlg`,橡皮条类前缀为`_Rb`。
3. **常见数据类型的前缀**:
- `ch`:8位字符,`TCHAR`在定义了`UNICODE`时为16位字符。
- `b`:布尔值,`BOOL`类型。
- `n`:整数,大小依赖于操作系统。
- `w`:16位无符号整数。
- `l`:32位有符号整数。
- `dw`:32位无符号整数。
- `p`:普通指针。
- `lp`:远指针。
- `lpsz`:指向字符串的指针。
4. **最佳实践**:
- 使用有意义的限定词来描述变量的用途,提高代码的可读性。
- 避免过度使用全局变量,尽量将数据封装在对象中作为成员变量。
- 对于特定模块的变量,使用模块名称作为前缀,如`g_Fea_SomeVariable`表示特征模块的全局变量。
- 遵循一致的命名规则,确保整个项目中的命名风格统一。
通过遵循这些规则,开发人员可以创建出更清晰、更易于理解和维护的代码,减少潜在的错误并提高团队间的协作效率。在实际编程中,还需要根据项目的具体需求和团队的约定进行适当的调整。
111 浏览量
111 浏览量
点击了解资源详情
430 浏览量
347 浏览量
2021-11-25 上传
2009-03-06 上传
16613 浏览量
l6465209950
- 粉丝: 4
- 资源: 8
最新资源
- Ufrayd
- cstore_fdw:由Citus Data开发的用于使用Postgres进行分析的列式存储。 在https:groups.google.comforum#!forumcstore-users上查看邮件列表,或在https:slack.citusdata.com加入我们的Slack频道。
- 正则化算法
- monaco-powershell:VSCode的Monaco编辑器+ PowerShell编辑器服务!
- ASP网上购书管理系统(源代码+论文).zip
- node-provider-service
- Gradle插件可将APK发布到Google Play-Android开发
- Uecker
- 阿里云机器学习PAI-DSW入门指南.zip
- Cardboard-Viewer:主要使用Three.js,我为Google Cardboard耳机创建了一个陀螺移动VR查看器,以查看我在克利夫兰地区使用Panono 360相机拍摄的360°全景照片和风景。 刷新页面从总共6张照片中选择一张随机照片。 要查看该应用程序,请单击链接:
- Jwg3full.github.io
- 简单的C++串口示例
- 高斯白噪声matlab代码-SPA_for_LDPC:此存储库是关于LDPC(又名低密度奇偶校验)代码的和积算法在二进制对称信道,二进制擦除信
- C/C++:二叉排序树.rar(含完整注释)
- U27fog
- godotenv:Ruby的dotenv库的Go端口(从`.env`加载环境变量。)