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)或者下划线(_)组成. 第一个字母必须是字母或者下划线开头. 不 ...
随机推荐
- Android studio的调试方法
1. DDMS DDMS 全称 Dalvik Debug Monitor Service, dalvik虚拟机调试监控服务. 可以进行的操作有:为测试设备截屏,查看特定行程中正在运行的线程以及堆信息. ...
- [译]用R语言做挖掘数据《二》
数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...
- Centos 7 ip地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33 HWADDR="00:15:5D:07:F1:02" TYPE="Ether ...
- 微信小程序(二)框架的基本组成
安装好 微信web开发者工具后. 让我们来了解一下工具的框架,上图: 工具总共分为三个部分,左上角红框框: 模拟器:模拟手机小程序界面,模拟器左上角可以选择手机型号,右上角红框处,千万别选成Offic ...
- java自学之路-开篇
开篇 想写一些java自学文章的心思起好久了,也在心里规划了一段时间,今天终于开始正式付于纸上.接下来要写的内容从java基础开始,一步步到正式工作用到的技术,整个体系适合java初学者自学.内容可能 ...
- Java Swing实战(四)按钮组件JButton及其事件监听
接下来为面板添加保存按钮,并为按钮绑定事件监听. /** * @author: lishuai * @date: 2018/11/26 13:51 */ public class WeimingSyn ...
- [LeetCode] Remove Element题解
Remove Element: Given an array and a value, remove all instances of that value in place and return t ...
- Java Future源码分析
JDK future框架,提供了一种异步编程模式,基于线程池的.将任务runnable/callable提交到线程池executor,返回一个Future对象.通过future.get()获取执行结果 ...
- 在Pandas中直接加载MongoDB的数据
在使用Pandas进行数据处理的时候,我们通常从CSV或EXCEL中导入数据,但有的时候数据都存在数据库内,我们并没有现成的数据文件,这时候可以通过Pymongo这个库,从mongoDB中读取数据,然 ...
- js-js的语句
- Java里面的语句: ** if判断 *** =:表示赋值 *** ==:表示判断 ** switch语句 ** 循环 for while do-while - js里面的也是这些语句 ** if ...