ZT C/C++变量命名规则,个人习惯总结
C/C++变量命名规则,个人习惯总结
(2012-10-31 13:48:10)
C_C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:
1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
2、 第一个字母必须是字母或者下划线开头。
3、 不能使用C++关键字来命名变量,以免冲突。
4、 变量名区分大小写。
变量命名规则:
一、 用最短字符表示最准确的意义。
二、 使用变量前缀。
1、 整型前缀
int nId; //int前缀:n
short sId; //short前缀:s
unsigned int unId // unsigned int 前缀:un
long lId; //long前缀:l
2、 浮点型前缀
float fValue; //float前缀:f
double dValue; //double前缀:d
3、 字符型前缀
char chChar; //char前缀:ch
4、 字符串前缀
char szPath; //char字符串前缀:sz
string strPath; //string字符串前缀:str
CString strPath; //MFC CString类前缀:str
5、 布尔型前缀
bool bIsOK; //bool类型前缀:b
BOOL bIsOK; //MFC BOOL前缀:b
6、 指针型前缀
char * pPath; //指针前缀:p
7、 数组前缀
int arrnNum; //数组前缀:arr
CString arrstrName; //数组前缀+类型前缀+名称
8、 结构体前缀
STUDENT tXiaoZhang; //结构体前缀:t
9、 枚举前缀
enum emWeek; //枚举前缀:em
10、 字节的前缀
BYTE byIP; //字节前缀:by
11、 字的前缀
DWORD dwMsgID; //双字前缀:dw
WORD wMsgID; //单字前缀:w
12、 字符指针前缀
LPCTSTR ptszName; //TCHAR类型为ptsz
LPCSTR pszName; //pcsz
LPSTR pszName; //psz
13、 STL容器前缀
vector vecValue; //vector容器前缀:vec
14、 RECT矩形结构前缀
RECT rcChild; //rc
CRECT rcChild/ //rc
15、 句柄前缀
HWND hWndDlg; //h
HBRUSH hBr; //h
HPEN hPen; //h
HBITMAP hBmpBack; //h
16、 Windows颜色前缀
COLORREF crFont; //cr
17、 Windows DC前缀
CDC dcClient; //dc
三、 类的成员变量以m_开头,后面为变量,变量同时还要加前缀。
CString m_strName; //m_开头+类型前缀+名称
四、 定义一个变量,为了简化,在不影响变量意义的情况下,可仅仅使用前缀。
RECT rc;
五、 全局变量一律以g_开头,后面为变量,变量同时还要加前缀。
int g_ID; //g
六、
定义结构体,保证C和C++兼容,采用typedef语句,并且结构体类型全部大写,以T_开头,指针形式以PT_开头。
typedef
struct
tag TSTUDENT
{
int
nId;
CString
strName;
}STUDENT,*PSTUDENT;
STUDENT
tXiaoZhang;
//完整定义结构体
七、
变量由多个单词组成,则每个单词的首个字母大写。
int nStudentID;
CString strStudentName;
八、
定义一个类以C或者T做为类名前缀。
class CMyListCtrl;
class TMyListCtrl;
九、
MFC控件绑定值类别或者控件类类别,需要以m_开头并且加前缀。
CEdit m_EDT_strValue;
//Edit绑定控件类别
CListBox m_LB_nName;
//ListBox
CListCtrl m_LC_Name;
//ListCtrl;
CComboBox
m_CB_Name;
/ComboBox
十、
控件ID尽量简化并表明控件类型和意义。
Button
IDC_BNT_NAME;
Edit
IDC_EDT_NAME;
ListBox IDC_LB_NAME;
ListCtrl IDC_LC_NAME;
ComboBox
IDC_CB_NAME;
ZT C/C++变量命名规则,个人习惯总结的更多相关文章
- C/C++变量命名规则,个人习惯总结【转载】
C_C++变量命名规则 原文地址:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++ ...
- C++变量命名规则
转自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/25/1834301.html 浅谈C++变量命名规则 不知道别的公司如何,反正我现在的公 ...
- 「C语言」常量和变量的表示、应用和变量命名规则
在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...
- Java学习笔记(基本数据类型和变量命名规则)
java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...
- C/C++变量命名规则
变量命名规则是为了增强代码的可读性和easy维护性. 变量命名规则: 一.用最短字符表示最准确的意义. 二.使用变量前缀. 1. 整型前缀 int nId; ...
- 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则
小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...
- JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符
JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- google 变量命名规则简要记录
1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...
- C_C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 第一个字母必须是字母或者下划线开头. 不 ...
随机推荐
- Java reflect 反射 2
Constructor Constructor表示一个类的构造器.即构造器的反射对象! 它是Class的一个组成部门,所以需要先得到Class,再通过Class的方法得到Constructor 1获取 ...
- 通过 Docker Compose 组合 ASP NET Core 和 SQL Server
目录 Docker Compose 简介 安装 WebApi 项目 创建项目 编写Dockfile Web MVC 项目 创建项目 编写Dockfile 编写 docker-compose.yml文件 ...
- CC2530zigbee技术-简介协议栈
前言 说实话,我喜欢自己的原创,虽然我写得可能简单了,但我觉得自己在写博客的路途上,一点一点地积累知识,我也借鉴别人的东西,特别是在写这篇文章时所使用的是markdownpad2写的,原来我根本就不知 ...
- HDFS常用shell命令
注,其实常用命令不用网上搜,和linux下的命令很类似,触类旁通,直接在linux 上 hadoop fs 看一下就行了,不需要刻意去记我把 linux 上的 help 列举下,方便直接看吧,hdfs ...
- Ruby(1):入门
安装: 一般来说linux会自动装ruby,可以通过: ruby -v 来查看ruby版本 直接使用ruby命令的话,是用来执行ruby文件的.如果要打开交互式ruby解释器.只需要在控制台输入:ir ...
- Spring MVC 数据绑定流程分析
1. 数据绑定流程原理★ ① Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 Data ...
- Cheatsheet: 2017 08.01 ~ 09.30
Golang Building a Worker Pool in Golang A Million WebSockets and Go Writing Plugins in Go imgproxy:R ...
- Java集成groovy之GroovyShell、GroovyScriptEngine、GroovyClassLoader
GroovyClassLoader 用 Groovy 的 GroovyClassLoader ,动态地加载一个脚本并执行它的行为.GroovyClassLoader是一个定制的类装载器,负责解释加载J ...
- hdu 1054 Strategic Game 经典树形DP
Strategic Game Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 2084(DP)
http://acm.hdu.edu.cn/showproblem.php?pid=2084 状态转移方程: dp[i][j] = MAX(dp[i+1][j],dp[i+1][j+1])+tower ...