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++变量命名规则,个人习惯总结的更多相关文章

  1. C/C++变量命名规则,个人习惯总结【转载】

    C_C++变量命名规则 原文地址:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++ ...

  2. C++变量命名规则

    转自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/25/1834301.html 浅谈C++变量命名规则 不知道别的公司如何,反正我现在的公 ...

  3. 「C语言」常量和变量的表示、应用和变量命名规则

    在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...

  4. Java学习笔记(基本数据类型和变量命名规则)

    java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...

  5. C/C++变量命名规则

    变量命名规则是为了增强代码的可读性和easy维护性. 变量命名规则: 一.用最短字符表示最准确的意义. 二.使用变量前缀. 1.  整型前缀 int               nId;        ...

  6. 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则

    小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...

  7. JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符

    JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  8. google 变量命名规则简要记录

    1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...

  9. C_C++变量命名规则

    变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 第一个字母必须是字母或者下划线开头. 不 ...

随机推荐

  1. Go RabbitMQ 工作队列 (二)

    rabbitMQ工作队列 在之前内容中我们通过一个队列实现了消息的发送跟接收.接下来我们创建工作队列(Work Queue),用于在多个工作者之间分配耗时的任务 工作队列(任务队列)背后的核心主要是避 ...

  2. [Mysql 查询语句]——集合函数

    count() 统计记录条数 select count(*) from student; +----------+ | count(*) | +----------+ | +----------+ s ...

  3. [linux] C语言Linux系统编程进程基本概念

    1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件.进程是执行中的目标代码:活动的.生存的.运行的程序. 除了目标代码进程还包含数据.资源.状态以及虚拟化的计算机. 2.进程体系: 每一 ...

  4. 七、curator recipes之阻塞队列SimpleDistributedQueue

    简介 Java在单机环境实现了BlockQueue阻塞队列,与之类似的curator实现了分布式场景下的阻塞队列,SimpleDistributedQueue 官方文档:http://curator. ...

  5. 高并发第二弹:并发概念及内存模型(JMM)

    高并发第二弹:并发概念及内存模型(JMM) 感谢 : 深入Java内存模型 http://www.importnew.com/10589.html, cpu缓存一致性 https://www.cnbl ...

  6. jenkins学习笔记

    Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建.测试和部署等功能.本系列博客以 windows 10 环境为例 1 安装 ...

  7. BZOJ4162:shlw loves matrix II

    传送门 利用Cayley-Hamilton定理,用插值法求出特征多项式 \(P(x)\) 然后 \(M^n\equiv M^n(mod~P(x))(mod~P(x))\) 然后就多项式快速幂+取模 最 ...

  8. 有关动态规划(主要是数位DP)的一点讨论

    动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法.20世纪50年代初美国数学家在研究多阶段决策过程的优化问题时, ...

  9. Python爬虫框架Scrapy教程(1)—入门

    最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题.时间.正文等).问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata 这类标准.这时候所有网页 ...

  10. Linux基础入门之网络属性配置

    Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. L ...