博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]Visual C++编程命名规则
阅读量:5327 次
发布时间:2019-06-14

本文共 1402 字,大约阅读时间需要 4 分钟。

一、程序风格: 

     1、严格采用阶梯层次组织程序代码: 

     各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 
     2、提示信息字符串的位置 
     在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。 
     3、对变量的定义,尽量位于函数的开始位置。 
二、命名规则: 
     1、变量名的命名规则 
①、变量的命名规则要求用“匈牙利法则”。即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。 
     即: 变量名=变量类型+变量的英文意思(或缩写) 对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。 
     见下表: 
     bool(BOOL) 用b开头 bIsParent 
     byte(BYTE) 用by开头 byFlag 
     short(int) 用n开头 nStepCount 
     long(LONG) 用l开头 lSum 
     char(CHAR) 用c开头 cCount 
     float(FLOAT) 用f开头 fAvg 
     double(DOUBLE) 用d开头 dDeta 
     void(VOID) 用v开头 vVariant 
     unsigned int(WORD) 用w开头 wCount 
     unsigned long(DWORD) 用dw开头 dwBroad 
     HANDLE(HINSTANCE) 用h开头 hHandle 
     DWORD 用dw开头 dwWord 
     LPCSTR(LPCTSTR) 用str开头 strString 
     用0结尾的字符串 用sz开头 szFileName 
     对未给出的变量类型要求提出并给出命名建议给技术委员会。 
     ②、指针变量命名的基本原则为: 
     对一重指针变量的基本原则为: 
    “p”+变量类型前缀+命名 
     如一个float*型应该表示为pfStat 
     对多重指针变量的基本规则为: 
    二重指针: “pp”+变量类型前缀+命名 
    三重指针: “ppp”+变量类型前缀+命名 
...... 
     ③、全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写) 
     ④、静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即: 变量名=s_+变量类型+变量的英文意思(或缩写) 
     ⑤、成员变量用m_开头,如一个长型成员变量定义为m_lCount;即:变量名=m_+变量类型+变量的英文意思(或缩写) 
     ⑥、对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。 
     如:enum cmEMDAYS 
     EMDAYS_MONDAY; 
     EMDAYS_TUESDAY; 
     …… 
     }; 
     ⑦、对struct、union、class变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致。 
     结构一般用S开头 
     如:struct ScmNPoint 
     { 
     int nX;//点的X位置 
     int nY; //点的Y位置 
     }; 
     联合体一般用U开头 
     如: union UcmLPoint 
     { 

转载于:https://www.cnblogs.com/mr-totoro/archive/2012/12/06/5785712.html

你可能感兴趣的文章
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
MyBatis
查看>>
Sklearn实现逻辑回归
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
MongoDB 状态监控、备份复制及自动分片
查看>>
《大道至简》阅读笔记一
查看>>
一个控制台程序,模拟机器人对话
查看>>
web.xml 中加载顺序
查看>>
mysql学习之安装(一)
查看>>
[数据库]关于主键与外键
查看>>