匈牙利命名法:VC变量与范围前缀规则详解
需积分: 15 86 浏览量
更新于2024-09-17
收藏 131KB PDF 举报
在Visual C++(VC)编程中,命名规则是确保代码清晰、可读和易于维护的关键组成部分。本文档详细介绍了VC中的变量、范围前缀以及类型前缀的命名规范,旨在帮助开发者遵循一致的编码风格。
首先,匈牙利命名法(Hungarian Notation)是一种常见的命名约定,它将变量的用途、范围和数据类型以特定的前缀表示。变量通常被划分为三种范围:全局(g_),成员(m_)和局部(l_)。例如,`g_Servers`表示全局变量,`m_pDoc`是成员变量,而`l_strName`则用于局部作用域。
1. 范围前缀:
- 全局变量使用前缀"g_",如`g_Servers`。
- 成员变量使用前缀"m_",如表示文档对象的`m_pDoc`。
- 局部变量使用前缀"l_",但这种使用较少,推荐使用更明确的局部变量命名,如`l_name`。
2. 类型前缀:
- 对于类和接口,前缀表示其类型。例如,`Lm`表示类,`I`表示接口,如`LmObject`和`IUnknown`。
- 特殊约定:派生自`MouseTool`的类前缀为 `_Mt`,对话框类前缀为`CDlg`,橡皮条类为`_Rb`。
- 常见的数据类型前缀:
- 字符型:`ch`(8位字符)、`TCHAR`(16位,根据`UNICODE`定义)。
- 布尔型:`b`。
- 整型:`n`(一般整数,大小取决于操作系统)、`UINT`(无符号整数)。
- 短整型:`w`(16位无符号)。
- 长整型:`l`(32位有符号)。
- 双字长整型:`dw`(32位无符号)。
- 指针类型:`p`(表示指向内存的变量),`lp`(FAR指针),`lpsz`(指向字符串的指针)。
3. 特殊约定:
- 类的实例命名遵循类名的基本结构,同时反映其特定含义,比如`LmSketPoint_StartPoint`和`LmSketPoint_EndPoint`分别表示草图点的起点和终点。
- 对于不同功能模块的变量,如特征模块(Fea)、草图模块(Sket)等,可以在类型前缀后添加这些关键词以体现其具体功能。
遵循这些命名规则,可以帮助团队成员更好地理解代码的含义,减少误解,提高代码的可维护性。在实际编程中,应始终优先考虑清晰度和一致性,而不是过度依赖前缀来表达数据类型,除非必要。通过合理的命名,可以显著提升代码的质量和可读性,从而提高开发效率和软件的可靠性。
2021-08-22 上传
2018-02-06 上传
2009-03-06 上传
2008-12-19 上传
2010-10-14 上传
2023-08-12 上传
2023-03-22 上传
2022-02-06 上传
点击了解资源详情
myfreework1
- 粉丝: 2
- 资源: 18
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍