c语⾔变量名⽤⼀个字母,C语⾔变量命名规则
《C语⾔变量命名规则》由会员分享,可在线阅读,更多相关《C语⾔变量命名规则(6页珍藏版)》请在⼈⼈⽂库⽹上搜索。
1、1、严格采⽤阶梯层次组织程序代码:各层次缩进的分格采⽤VC的缺省风格,即每层次缩进为4格,括号位于下⼀⾏。 要求相匹配的⼤括号在同⼀列,对继⾏则要求再缩进4格。例如:
2、提⽰信息字符串的位置在程序中需要给出的提⽰字符串,为了⽀持多种语⾔的开发,除了⼀些给调试⽤的临时信息外,其他所有的提⽰信息必须定义在资源中。
3、对变量的定义,尽量位于函数的开始位置。⼆、命名规则:1、变量名的命名规则 、变量的命名规则要求⽤匈⽛利法则”即开头字母⽤变量的类型,其余部分⽤变量的英⽂意思或其英⽂意思的缩写,尽量避免⽤中⽂的拼⾳,要求单词的第⼀个字母应⼤写。即:变量名=变量类型+变量的英⽂意思(或缩写)对⾮通⽤的变量。
2、,在定义时加⼊注释说明,变量定义尽量可能放在函数的开始处。见下表:bool(BOOL)⽤ b 开头bisPare ntbyte(BYTE)⽤ by 开头byFlagshort(int)⽤ n 开头 nStepCountIong(LONG)⽤ I 开头 ISumchar(CHAR) ⽤ c 开头cCountfloat(FLOAT) ⽤ f 开头 fAvg double(DOUBLE) ⽤ d 开头 dDeta void(
VOID) ⽤ v 开头vVariantunsignedint ( WORD) ⽤ w 开头wCountunsignedIong(DWORD)⽤ dw 开头 dwBroadHAN。
3、DLE ( HINSTANCE ) ⽤ h 开头hHandleDWORD ⽤ dw 开头 dwWordLPCSTR(LPCTSTR)⽤ str 开头 strString⽤0结尾的字符串⽤sz开头 szFileName对未给出的变量类型要求提出并给出命名建议给技术委员会。 、指针变量命名的基本原则为:对⼀重指针变量的基本原则为:“ p”变量类型前缀+命名如⼀个float*型应该表⽰为pfStat对多重指针变量的基本规则为:⼆重指针:“ pp”变量类型前缀+命名三重指针:“ ppp”变量类型前缀+命名 、全局变量⽤g_开头,如⼀个全局的长型变量定义为gFailCount,即:变量名=g_+变量类。
4、型+变量的英⽂意思(或缩写) 、静态变量⽤s_开头,如⼀个静态的指针变量定义为s_plPerv_ In st, 即:变量名=s_+变量类型+变量的英⽂意思(或缩写) 、成员变量⽤ m_开头,如⼀个长型成员变量定义为mCount;即:变量名=m_+变量类型+变量的英⽂意思(或缩写) 、对枚举类型(enum )中的变量,要求⽤枚举变量或其缩写做前缀。并且要求⽤⼤ 写。⼥⼝: enum cmEMDAYSEMDAYS
MONDAY;EMDAYS_TUESDAY;、对struct union、class变量的命名要求定义的类型⽤⼤写。并要加上前缀,其内 部变量的命名规则与变量命名规则⼀致。结构⼀般⽤S开。
5、头⼥⼝: structScmNPointintnX;点的X位置int nY;/点的Y位置;联合体⼀般⽤U开头⼥⼝ :union
UcmLPo intlonglX;longlY;类⼀般⽤C开头如:class CcmFPo intpublic:float fPoi nt;对⼀般的结构应该定义为类模板,为以后的扩展性考虑如:templateclass CcmTVector3dpublic:TYPE x,y,z;; 、对常量(包括错误的编码)命名,要求常量名⽤⼤写,常量名⽤英⽂表达其意思。⼥⼝: #define CM_FILE_NOT_FOUNDCMMAKEHR(0X20B)其中 CM 表⽰类别。 、对。
6、con st的变量要求在变量的命名规则前加⼊c,即:c+变量命名规则;例如:const char*c szFileName;2、函数的命名规范:函数的命名应该尽量⽤英⽂表达出函数完成的功能。遵循动宾结构的命名法则,函数名中动词在前,并在命名前加⼊函数的前缀,函数名的长度不得少于8个字母。例如:longcmGetDeviceCount();3、函数参数规范: 、参数名称的命名参照变量命名规范。 、为了提⾼程序的运⾏效率,减少参数占⽤的堆栈,传递⼤结构的参数,⼀律采⽤指针或引⽤⽅式传递。 、为了便于其他程序员识别某个指针参数是⼊⼝参数还是出⼝参数,同时便于编译器检查错误,应该在⼊⼝参数前加⼊con。
7、 st标志。如:cmCopyStri ng(c onstchar * c_szSource, char * szDest)4、引出函数规范:对于从动态库引出作为⼆次开发函数公开的函数,为了能与其他函数以及Windows的函数区分,采⽤类别前缀 +基本命名规则的⽅法命名。例如:在对动态库中引出的⼀个图象编辑的函数定义为imgFunctionname(其中img为image缩写)。现给出三种库的命名前缀: 、对通⽤函数库,采⽤ cm为前缀。 、对三维函数库,采⽤ vr为前缀。 、对图象函数库,采⽤img为前缀。对宏定义,结果代码⽤
同样的前缀。5、 ⽂件名(包括动态库、组件、控件、⼯程⽂件等)的命。
8、名规范:⽂件名的命名要求表达出⽂件的内容,要求⽂件名的长度不得少于5个字母,严禁使⽤象file1,myfile之类的⽂件名。三、注释规范:1、函数头的注释对于函数,应该从功能”参数”返回值”、主要思路”调⽤⽅法”、⽇期”六个⽅⾯⽤如下格式注释:/程序说明开始/ /! f/=/功能:从⼀个String中删除另⼀个String。/参数:strByDeIete,strToDeIete/(⼊⼝)strByDelete:被删除的字符串(原来的字符串)/(出⼝)strToDelete:要从上个字符串中删除的字符串。/返回:到并删除返回1,否则返回0。(对返回值有错误编码的要 /求列出错误编码)。/主要思。
9、路:本算法主要采⽤循环⽐较的⽅法来从strByDelete中到/ 与strToDelete相匹配的字符串,对多匹配strByDelete/中有多个strToDelete⼦串)的情况没有处理。请参阅:/书名/调⽤⽅法:/⽇期:起始⽇期,如:2000/8/21.9:402000/8/23.21:45/函数名()/程序说明结束 、对于某些函数,其部分参数为传⼊值,⽽部分参数为传出值,所以对参数要详细说明该参数是⼊⼝参数,还是出⼝参数,对于某些意义不明确的参数还要做详细说明(例如:以⾓度作为参数时,要说明该⾓度参数是以弧度(PI),还是以度为单位),对既是⼊⼝⼜是出⼝的变量应该在⼊⼝和出⼝处同时标明。
10、。等等。 、函数的注释应该放置在函数的头⽂件中,在实现⽂件中的该函数的实现部分应该同时放置该注释。 、在注释中应该详细说明函数的主要实现思路、特别要注明⾃⼰的⼀些想法,如果有必指针变量的定义格式
要则应该写明对想法产⽣的来由。对⼀些模仿的函数应该注释上函数的出处。 、在注释中详细注明函数的适当调⽤⽅法,对于返回值的处理⽅法等。在注释中要强调调⽤时的危险⽅⾯,可能出错的地⽅。 、对⽇期的注释要求记录从开始写函数到结束函数的测试之间的⽇期。 、对函数注释开始到函数命名之间应该有⼀组⽤来标识的特殊字符串。如果算法⽐较复杂,或算法中的变量定义与位置有关,则要求对变量的定义进⾏图解。 对难以理解的算法能图解尽量图解。2、变。
11、量的注释:对于变量的注释紧跟在变量的后⾯说明变量的作⽤。原则上对于每个变量应该注释,但对于意义⾮常明显的变量,如:i,j等循环变量可以不注释。例如:Io ngILin eCou nt线的根数。3、⽂件的注释:⽂件应该在⽂件开头加⼊以下注释:/ ⼯程:⽂件所在的项⽬名。/ 作者:*,修改者:*/描述:说明⽂件的功能。/主要函数:/ 版本:说明⽂件的版本,完成⽇期。/ 修改:说明对⽂件的修改内容、修改原因以及修改⽇期。/参考⽂献:/为了头⽂件被重复包含要求对头⽂件进⾏定义如下:#ifndef __FILENAME_H__#define
__FILENAME_H__其中FILENAME为头⽂件的名字。
12、。4、其他注释:在函数内我们不需要注释每⼀⾏语句。但必须在各功能模块的每⼀主要部分之前添加块注释,注释每⼀组语句,在循环、流程的各分⽀等,尽可能多加以注释。其中的循环、条件、选择等位置必须注释。对于前后顺序不能颠倒的情况,建议在注释中增加序号。例如:在其他顺序执
⾏的程序中,每隔3 5⾏语句,必须加⼀个注释,注明这⼀段语句所组成的⼩模块的作⽤。对于⾃⼰的⼀些⽐较独特的思想要求在注释中标明。四、程序健壮性:1、函数的返回值规范:对于函数的返回位置,尽量保持单⼀性,即⼀个函数尽量做到只有⼀个返回位置。(单⼊⼝单出⼝)。要求⼤家统⼀函数的返回值,所有的函数的返回值都将以编码的⽅式返回。 例如编码定义如。
13、下:#defineCM POINT IS NULLCMMAKEHR(0X200)建议函数实现如下:long 函数名(参数,)long IResult;/保持错误号
IResult=CM OK;/如果参数有错误则返回错误号IResult=CM POINT IS NULL; goto END;END:return lResult;2、关于goto的应⽤:对goto语句的应⽤,我们要求尽量少⽤ goto语句。对⼀定要⽤的地⽅要求只能向后转 移。3、资源变量的处理(资源变量是指消耗系统资源的变量):对资源变量⼀定赋初值。分配的资源在⽤完后必须马上释放,并重新赋值。4、对复杂的条件判断,为了程序的可读性,应该尽量使⽤括号。例:if(szFileName!=NULL)&(ICount=O)|(blsReaded=TRUE) 五、可移植性:1、⾼质量的代码要求能够跨平台,所以我们的代码应该考虑到对不同的平台的⽀持,特别是对 windows98 和windowsnt的⽀持。2、 由于C语⾔的移植性⽐较好,所以对算法函数要求⽤C代码,不能⽤ C+代码。3 、对不同的硬件与软件的函数要做不同的处理。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。