匈牙利命名法详解:变量规则与特殊约定
3星 · 超过75%的资源 需积分: 10 160 浏览量
更新于2024-09-13
收藏 157KB DOC 举报
匈牙利命名法则是一种在软件开发中广泛使用的命名规范,它旨在提高代码的可读性和组织性,特别是在大型项目中。这种命名规则主要用于C++和类似语言中,通过特定的前缀和范围来区分变量的类型、作用域和意义。
1. 命名结构:
- 变量名通常由三部分组成:范围前缀、类型前缀和限定词。范围前缀用于标识变量的作用域(全局、成员或局部),类型前缀指示变量的数据类型,而限定词提供变量的具体含义。
2. 特殊类型命名:
- 类和接口的前缀有特定规则:
- 类(Class):前缀为`Lm`,如`LmObject`,表示类的通用定义,但如果是模块内而非全局的类,可以加上模块名称的缩写,如`LmSketPoint`。
- 接口(Interface):前缀为`I`,如`IUnknown`。
- 特殊类的前缀:
- MouseTool派生类:`_Mt`
- 对话框类:`CDlg`
- 橡皮条类:`_Rb`
3. 范围前缀:
- 全局变量:`g_`,如`g_Servers`
- 成员变量:`m_`,如`m_pDoc`
- 局部变量:`l_`,但应尽量减少使用,因为它们的作用域有限且易导致命名冲突
4. 数据类型前缀:
- 字符类型:`ch`(8-bit)和`tch`(16-bit Unicode)
- 布尔类型:`b`
- 整数类型:`n`(32-bit signed,大小取决于操作系统)和`w`(16-bit unsigned)
- 长整型:`l`(32-bit signed)
- 无符号整型:`dw`(32-bit unsigned)
- 指针类型:`p`
5. 建议与最佳实践:
- 尽可能避免使用全局变量,尤其是没有明确指定模块的变量,因为这可能导致代码维护困难。如果必须使用,要在类型前缀后添加相应的模块标识,如`Fea`, `Sket`, `Asm`, `Lay`, `Surf`, 或`Ui`。
- 类的实例命名遵循类名的命名原则,例如`LmSketPoint`的实例可能命名为`_StartPoint`或`_EndPoint`,以反映实例的特定功能。
匈牙利命名法通过细致的分类和标准化的前缀,帮助程序员清晰地理解代码中变量的含义,提高代码的可读性和一致性。遵循这些规则,可以有效降低代码出错的可能性,并增强团队协作的效率。
2017-12-19 上传
2010-07-15 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-24 上传
2023-09-01 上传
2023-10-18 上传
Legend500
- 粉丝: 40
- 资源: 9
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦