C语言变量名命名规则.doc

上传人:自*** 文档编号:126219851 上传时间:2020-03-23 格式:DOC 页数:7 大小:57.21KB
返回 下载 相关 举报
C语言变量名命名规则.doc_第1页
第1页 / 共7页
C语言变量名命名规则.doc_第2页
第2页 / 共7页
C语言变量名命名规则.doc_第3页
第3页 / 共7页
C语言变量名命名规则.doc_第4页
第4页 / 共7页
C语言变量名命名规则.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C语言变量名命名规则.doc》由会员分享,可在线阅读,更多相关《C语言变量名命名规则.doc(7页珍藏版)》请在金锄头文库上搜索。

1、C语言变量名命名规则一、程序风格: 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。 要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。 3、对变量的定义,尽量位于函数的开始位置。二、命名规则: 1、变量名的命名规则 、变量的命名规则要求用“匈牙利法则”。即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。 即: 变

2、量名=变量类型+变量的英文意思(或缩写) 对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。 见下表:变量类型前缀实例备注位域bitbitRXEN寄存器控制接收使能的位BoolbbTurnOnUnsigned CharucucErrorCharccNameUnsigned ShortwwMsgShortnnCntUnsigned IntuuiLenIntiiValUnsigned LongululMaxThLonglLOffsetLong IntliliCountLong LongllllSumFloatffAngleDoubleddRadiusEnumeeType一级指

3、针p_p_iVal二级指针pp_pp_iVal一维数组a_a_chDispName二维数组aa_aa_chPrtName函数fnvoid fnProc(void)申明函数类型,该函数形参和返回值均为void函数指针pfnpfnFlashWrite保存函数入口地址的指针变量回调函数指针lpfnlpfnAbort系统终止时调用该函数结构体ststTimeNode“时间节点”的结构体局部变量l_l_iCount仅供本例程调用的变量静态变量s_s_pQData仅供本模块调用的“队列缓冲区”的指针全局变量g_g_pSemBtn供多个模块调用的 “按钮信号量”的指针模块中函数命名规则:模块名_ + 函数名

4、(动名结构),如:tmr_GetCurTime() / 时钟模块中,获取当前时间的函数sport_TxData() / SPORT驱动模块中,发送数据的函数 对未给出的变量类型要求提出并给出命名建议给技术委员会。 、指针变量命名的基本原则为: 对一重指针变量的基本原则为: “p”+变量类型前缀+命名 如一个float*型应该表示为pfStat 对多重指针变量的基本规则为: 二重指针: “pp”+变量类型前缀+命名 三重指针: “ppp”+变量类型前缀+命名 . 、全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写) 、静态

5、变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即: 变量名=s_+变量类型+变量的英文意思(或缩写) 、成员变量用m_开头,如一个长型成员变量定义为m_lCount;即:变量名=m_+变量类型+变量的英文意思(或缩写) 、对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。 如:enum cmEMDAYS EMDAYS_MONDAY; EMDAYS_TUESDAY; ; 、对struct、union、class变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致。 结构一般用S开头 如:struct ScmNPo

6、int int nX;/点的X位置 int nY; /点的Y位置 ; 联合体一般用U开头 如: union UcmLPoint long lX; long lY; 类一般用C开头 如: class CcmFPoint public: float fPoint; ; 对一般的结构应该定义为类模板,为以后的扩展性考虑 如: template class CcmTVector3d public: TYPE x,y,z; ; 、对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。 如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类

7、别。 、对const 的变量要求在变量的命名规则前加入c_,即:c_+变量命名规则;例如: const char* c_szFileName; 2、 函数的命名规范: 函数的命名应该尽量用英文表达出函数完成的功能。遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度不得少于8个字母。 例如: long cmGetDeviceCount(); 3、函数参数规范: 、 参数名称的命名参照变量命名规范。 、 为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。 、 为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译

8、器检查错误,应该在入口参数前加入const标志。如: cmCopyString(const char * c_szSource, char * szDest) 4、引出函数规范: 对于从动态库引出作为二次开发函数公开的函数,为了能与其他函数以及Windows的函数区分,采用类别前缀+基本命名规则的方法命名。例如:在对动态库中引出的一个图象编辑的函数定义为 imgFunctionname(其中img为image缩写)。 现给出三种库的命名前缀: 、 对通用函数库,采用cm为前缀。 、 对三维函数库,采用vr为前缀。 、 对图象函数库,采用img为前缀。 对宏定义,结果代码用同样的前缀。 5、文件

9、名(包括动态库、组件、控件、工程文件等)的命名规范: 文件名的命名要求表达出文件的内容,要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名。三、注释规范: 1、函数头的注释 对于函数,应该从“功能”,“参数”,“返回值”、“主要思路”、“调用方法”、“日期”六个方面用如下格式注释: /程序说明开始 /=/ / 功能: 从一个String 中删除另一个String。 / 参数: strByDelete,strToDelete / (入口) strByDelete: 被删除的字符串(原来的字符串) / (出口) strToDelete: 要从上个字符串中删除的字符串。

10、 / 返回: 找到并删除返回1,否则返回0。(对返回值有错误编码的要/ 求列出错误编码)。 / 主要思路:本算法主要采用循环比较的方法来从strByDelete中找到 / 与strToDelete相匹配的字符串,对多匹配strByDelete / 中有多个strToDelete子串)的情况没有处理。请参阅: / 书名. / 调用方法:. / 日期:起始日期,如:2000/8/21.9:40-2000/8/23.21:45 /=/ 函数名() /程序说明结束 、 对于某些函数,其部分参数为传入值,而部分参数为传出值,所以对参数要详细说明该参数是入口参数,还是出口参数,对于某些意义不明确的参数还要做详细说明(例如:以角度作为参数时,要说明该角度参数是以弧度(PI),还是以度为单位),对既是入口又是出口的变量应该在入口和出口处同时标明。等等。 、 函数的注释应该放置在函数的头文件中,在实现文件中的该函数的实现部分应该同时放置该注释。 、 在注释中应该详细说明函数的主要实现思路、特别要注明自己的一些想法,如果有必要则应该写明对想法产生的来由。对一些模仿的函数应该注释上函数的出处。 、 在注释中详细注明函数的适当调用方法,对于返回值的处理方法等。在注释中要强调调用时的危险方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号