VC变量命名规则
C-C++命名原则
基本思想:以匈牙利命名法为基础,吸收驼峰命名法(Pascal命名法的优点)。
变量命名必须遵循的基本原则是:变量名=属性前缀(可选)+类型前缀+对象描述。
其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。
要基于容易记忆容易理解的原则。
保证名字的连贯性是非常重要的。
一、属性前缀:
对于有属性的变量,规定采用下列属性前缀约定。
全局变量:g_
常量:c_
c++类成员变量:m_
静态变量:s_
二、类型前缀:
规定采用以下类型前缀。
整型(int):i,n(一般用于表示变量的数量时用n)
长整型(long int):l
短整型(short int):sn
字符(char):c,ch(推荐用ch)
无符号整型、字(unsigned,word):w,un
无符号长整型,双字(long unsigned,double word):lu
计数(count):cnt
字节(byte):by
布尔(bool):b
浮点型(float):f
双精度浮点(double):d
长双精度(long double):ld
实型(real):r
字符串(string):str,sz(以’\0’结尾)
数组:arr,ar,a(前两种推荐在主程序中使用,最后一种推荐在函数中使用)
指针(pointer):p,ptr,fp(文件指针)
函数(function):fn
文件型(file):fil
空(Void):v
句柄(handle):h
三、对象描述:
四、实例:
五、附注:。
C语言变量的命名规则_笔试题目
C语言变量的命名规则
一般规则:
【规则1-1】命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。
程序中的英文单词一般不要太复杂,用词应当准确。
【规则1-2】命名的长度应当符合“min-length && max-information”原则。
c 是一种简洁的语言, 命名也应该是简洁的。
例如变量名maxval 就比maxvalueuntiloverflow 好用。
标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。
另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。
【规则1-3】当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。
比如:int currentval;这样的名字看起来比较清晰,远比一长串字符好得多。
【规则1-4】尽量避免名字中出现数字编号,如value1,value2 等,除非逻辑上的确需要编号。
比如驱动开发时为管脚命名,非编号名字反而不好。
初学者总是喜欢用带编号的变量名或函数名,这样子看上去很简单方便,但其实是一颗颗定时炸弹。
这个习惯初学者一定要改过来。
【规则1-5】对在多个文件之间共同使用的全局变量或函数要加范围限定符(建议使用模块名(缩写)作为范围限定符)。
(gui_ ,etc) 标识符的命名规则:
【规则1-6】标识符名分为两部分:规范标识符前缀(后缀) + 含义标识。
非全局变量可以不用使用范围限定符前缀。
c语言合法变量名
C语言合法变量名介绍在C语言中,变量名是用来标识数据存储位置的标识符。
合法的变量名能够使程序的可读性更好,并且符合C语言的语法规则。
本文将详细介绍C语言中合法变量名的要求、命名规则以及一些注意事项。
合法变量名的要求C语言合法变量名的要求如下:1.变量名只能由字母、数字和下划线组成。
2.变量名必须以字母或下划线开头,不能以数字开头。
3.变量名区分大小写,因此大写字母和小写字母被视为不同的字符。
命名规则为了写出易读且易于理解的代码,我们需要遵循一些命名规则。
下面是一些常见的命名规则:规则1:可读性变量名应具备良好的可读性,以便代码的维护和阅读。
命名应当使用有意义的单词或词组,让人一眼就能明白变量的含义。
例如,studentName比sName更易读,averageScore比avg更易理解。
规则2:使用有意义的名词变量名应使用名词来描述变量所表示的事物。
例如,age表示年龄,count表示数量。
规则3:驼峰命名法驼峰命名法是一种常用的命名规则,在变量名中使用大写字母来分隔单词。
驼峰命名法有以下两种形式:•小驼峰命名法:首字母小写,后续每个单词的首字母大写。
例如,firstName。
•大驼峰命名法:每个单词的首字母都大写。
例如,StudentName。
规则4:避免使用保留字C语言有一些保留字,这些保留字是编译器已经定义并具有特殊含义的。
不要使用这些保留字作为变量名,以免引起编译错误。
例如,int和for都是C语言的保留字。
示例下面是一些符合C语言命名规则的合法变量名的示例:•maxValue: 最大值•sum: 总和•isValid: 是否有效•numberOfStudents: 学生数量•i: 用于循环计数的变量名常见错误在命名变量时,容易犯一些常见的错误。
下面是一些常见的错误以及如何避免它们:1.长度过长:变量名过长会降低代码的可读性。
应避免使用过于冗长的变量名,可以采用缩写或缩短变量名的方式来提高可读性。
简述c语言对变量的命名规则
简述c语言对变量的命名规则
C语言对变量的命名规则是一个计算机编程语言所必备的部分,它们是用来定义和访问变量的规范。
C程序设计语言是一种经典和普遍使用的程序设计语言,它在变量命名方面有自己的一套规范。
本文将详细介绍C语言对变量命名规则的基本要求。
首先,C语言对变量命名规则的基本要求是:所有变量都必须有一个明确的名称,并且必须满足一定的标准。
C语言变量命名规则有以下几点:
1、变量名只能由字母、数字和_组成,其中字母必须是英文字母。
2、变量名必须以字母开头,不能以数字开头或者特殊字符开头。
3、变量名不能包含空格,可以使用下划线_来分割单词,但是不要过分依赖下划线,以免造成变量命名混乱和不便于理解。
4、变量名应尽可能简短、有意义。
虽然C语言没有强制定义变量命名规则,但恰当的变量命名有利于程序的调试、修改和维护,也可以减少程序代码出错的几率。
另外,建议在变量命名时尽量不去重复,以免出现意想不到的结果。
C语言常用来开发应用程序、嵌入式系统、操作系统等,因此,C语言对变量命名规则的基本要求是非常重要的,只有遵守这些规则,才能保证程序的正确性和可读性,让程序代码更加规范、
易懂。
对变量命名规范的重视,有助于程序员在编程的过程中,节省时间,深入编程的知识,并有效的避免出现错误。
整个编程过程,变量命名也是不可或缺的一部分,正确的遵守变量命名规范,能使程序更加专业,更加容易维护。
总之,遵守C语言对变量命名规则,对于提高编程质量,提高程序运行效率是非常有效的方法。
c语言变量命名规范
竭诚为您提供优质文档/双击可除c语言变量命名规范篇一:c语言常见命名规则c语言常见命名规则一、概述比较著名的命名规则首推匈牙利命名法,这种命名方法是由microsoft程序员查尔斯·西蒙尼(charlessimonyi)提出的。
其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
[例如]lpszstr,表示指向一个以\0结尾的字符串(sz)的长指针(lp)变量。
骆驼(camel)命名法近年来越来越流行,在许多新的函数库和java这样的平台下使用得当相多。
骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。
其中第一个单词首字母小写,余下的单词首字母大写。
[例如]printemployeepaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。
帕斯卡(pascal)命名法与骆驼命名法类似。
只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。
[例如]displayinfo()和username都是采用了帕斯卡命名法。
在c#中,以帕斯卡命名法和骆驼命名法居多。
事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。
另一种流行的命名规则称为下划线命名法。
下划线法是随着c语言的出现流行起来的,在unix/liunx这样的环境,以及gnu代码中使用非常普遍。
1、常量名用大写,太长时用下划线隔开:1.#definemax2.#defineincRement_size2、变量名采用小驼峰形式书写:1.intfirst2.floatnewelem3、函数名、结构名和联合名采用大驼峰形式书写:1.voidclearlist(list*l)2.{3.….4.}5.intputelem(intelem)6.{7.….8.}9.typedefstructlinknode10.{11.intdata;12.structlinknode*next;13.}*linkpoint;4、全局变量加前缀“g_”,其余特殊变量类似本章所述的命名规则主要基于下划线命名法发展而来。
c语言变量命名规则的注意事项 -回复
c语言变量命名规则的注意事项-回复C语言是一种广泛应用的高级编程语言。
在使用C语言编写程序时,变量是不可或缺的部分。
变量在C语言中起着存储和操作数据的作用。
因此,在命名变量时,遵循一定的规则和注意事项非常重要。
本文将详细介绍C 语言变量命名规则的注意事项,并逐步回答相关问题。
C语言变量命名规则的注意事项可以总结如下:1. 变量名由字母、数字和下划线组成,且不能以数字开头。
2. 变量名区分大小写,例如"count"和"Count"是两个不同的变量。
3. 变量名应具有描述性、易于理解的特点,以便于代码的可读性和维护性。
4. 变量名不得与C语言的关键字重复,例如"if"、"for"和"while"等。
5. 变量名尽量避免使用过于简单或过于复杂的命名,以确保代码的可读性和易于理解。
6. 变量名应尽量减少使用缩写,以免引起误解。
7. 变量名长度通常不超过32个字符,以确保代码的整洁性和可读性。
下面将一步步回答相关问题:问题一:变量名由什么组成?是否有顺序要求?答:变量名由字母、数字和下划线组成,且不能以数字开头。
变量名中的字母可以是大写或小写的,并且区分大小写。
变量名中可以包含多个单词,使用下划线或驼峰命名法来区分单词。
变量名没有严格的顺序要求,但通常建议按照某种规则来命名以提高代码的可读性。
问题二:变量名是否区分大小写?答:是的,C语言中的变量名是区分大小写的。
这意味着"count"和"Count"是两个不同的变量。
因此,在命名变量时需要注意大小写。
问题三:变量名怎样才算具有描述性?答:变量名应具有描述性,以便于代码的理解和维护。
一个具有描述性的变量名能够准确地描述该变量所表示的含义。
例如,使用"age"来表示年龄、"name"来表示姓名等。
c语言变量名、函数名的命名规则
c语⾔变量名、函数名的命名规则(1)的命名要清晰、明了,有明确含义,同时使⽤完整的单词或⼤家基本可以理解的缩写,避免使⼈产⽣误解——尽量采⽤采⽤英⽂单词或全部中⽂全拼表⽰,若出现英⽂单词和中⽂混合定义时,使⽤连字符“_”将英⽂与中⽂割开。
较短的单词可通过去掉“元⾳”形成缩写;较长的单词可取单词的头⼏个字母形成缩写;⼀些单词有⼤家公认的缩写。
例如:temp->tmp、->标志、statistic->stat、increment->inc、message->msg等缩写能够被⼤家基本认可。
(2)命名中若使⽤特殊约定或缩写,则要有注释说明。
应该在源⽂件的开始之处,对⽂件中所使⽤的缩写或约定,特别是特殊的缩写,进⾏必要的注释说明。
(3)⾃⼰特有的命名风格,要⾃始⾄终保持⼀致,不可来回变化。
个⼈的命名风格,在符合所在项⽬组或产品组的命名规则的前提下,才可使⽤。
(即命名规则中没有规定到的地⽅才可有个⼈命名风格)。
(4)对于变量命名,禁⽌取单个字符(如i 、j 、k... ),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的。
变量,尤其是局部变量,如果⽤单个字符表⽰,很容易敲错(如i写成j),⽽编译时⼜检查不出来,有可能为了这个⼩⼩的错误⽽花费⼤量的查错时间。
(5)除⾮必要,不要⽤数字或较奇怪的字符来定义标识符。
(6)命名规范必须与所使⽤的系统风格保持⼀致,并在同⼀项⽬中统⼀。
(7)在同⼀软件产品内,应规划好接⼝部分(变量、结构、函数及常量)的命名,防⽌编译、链接时产⽣冲突。
对接⼝部分的标识符应该有更严格限制,防⽌冲突。
如可规定接⼝部分的变量与常量之前加上“模块”标识等。
(8)⽤正确的组命名具有互斥意义的变量或相反作⽤的等。
下⾯是⼀些在软件中常⽤的反义词组。
add / remove begin / end create / destroyinsert / delete first / last g et / releaseincrement / decrement put / getadd / delete lock / unlock open / closemin / max old / new start / stopnext / previous source / target show / hidesend / receive source / destinationcut / paste up / down⽰例:intmin_sum;intmax_sum;intadd_user( BYTE *user_name );intdelete_user( BYTE *user_name );(9)除了编译开关/ 头⽂件等特殊应⽤,应避免使⽤_EXAMPLE_TEST_ 之类以下划线开始和结尾的定义。
c语言变量命名起始字母规则
c语言变量命名起始字母规则在定义变量时,变量名可以是字母、数字和下划线的组合。
但是也不是随便的组合,要注意以下几个命名规则:1、变量名以英文字母开头;变量名的开头不能是数字,可以由字母或下划线开头。
但,实际上编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。
随便打开一个头文件就会看到,它里面所有的变量名、宏名、函数名全是以下划线开始的。
所以为了避免与系统定义的名字产生冲突,在编程的时候,除非要求这么定义,否则永远都不要使用下划线作为一个变量名的开头。
正确的变量名:错误的变量名:2、不可以包含空格、标点符号和类型说明符(%、&、!、#、@、$); 12 34 //错误的变量名:不能包含空格、标点符号和类型说明符(%、&、!、#、@、$),只能是字int %age = 13; int a%ge = 13;int name age = 12;3、字母是区分大小写;4、有效长度为255个字符;5、不可以是关键字;C 语言中定义的关键字有:由ANSI标准定义的C语言关键字共32个:auto、double、int、struct、break 、else、long、switch、case、enum、register 、typedef、char 、extern 、return、union 、const、float 、short、unsigned、continue、for、signed 、void、default 、goto、sizeof 、volatile、do 、if 、while、static。
这32个关键字就是已经被C语言本身使用,不能作为其他用途使用,比如不能定义成变量名、函数名。
C语言的命名规范与代码风格
C语言的命名规范与代码风格引言在编写C语言程序时,一个良好的命名规范和代码风格能够提高代码的可读性和可维护性。
本文将介绍一些常用的C语言命名规范和代码风格,帮助开发者编写规范、易读、易维护的代码。
命名规范1. 变量和函数命名•使用有意义的命名,能够准确描述变量或函数的用途。
•变量名应该使用小写字母,单词之间使用下划线分隔,例如:first_name。
•函数名首字母小写,后续单词首字母大写,采用驼峰命名法,例如:getUserInfo()。
2. 常量命名•常量名应全部大写,单词之间使用下划线分隔,例如:MAX_NUM。
•常量名应该具有描述性,能够清晰表达常量的含义。
3. 宏定义命名•宏定义命名应全部大写,单词之间使用下划线分隔,例如:#define PI3.1415926。
•宏定义命名应具有描述性,能够清晰表达宏定义的含义。
4. 结构体和枚举命名•结构体和枚举类型命名应使用驼峰命名法,首字母小写,例如:personInfo。
•枚举值命名应全部大写,单词之间使用下划线分隔,例如:STATUS_OK。
5. 文件和目录命名•文件名应使用小写字母,单词之间使用下划线分隔,例如:my_utils.c。
•目录名应使用小写字母,单词之间使用下划线分隔,例如:my_module。
6. 注释•对于每个变量或函数,在其声明之前应添加注释,描述其作用和用法。
•注释应以双斜线//开始,单行注释使用//后跟注释内容,多行注释使用/*和*/将注释内容包裹起来。
代码风格1. 缩进和空格•使用四个空格进行缩进。
•在运算符前后添加空格,增加代码的可读性。
2. 大括号•在控制语句(如if语句、for循环等)的执行块前后需要加上大括号,即使代码块只有一行。
3. 行数限制•一行最多不超过80个字符。
4. 函数和语句•每个函数之间应空出一行。
•每个语句之间也应空出一行,提高代码可读性。
5. 条件语句•在条件语句中,将常量放在前面,变量放在后面,避免将变量赋值写成判断等号。
C语言变量名命名规则
一、程序风格: 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用 VC 的缺省风格,即每层次缩进为 4 格,括号位于下
一行。 要求相匹配的大括号在同一列,对继行则要求再缩进 4 格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给
实例 bitRXEN bTurnOn ucError cName wMsg nCnt uiLen iVal ulMaxTh LOffset liCount llSum fAngle dRadius eType p_iVal pp_iVal a_chDispName[]
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
C-C++变量命名规则
C/C++变量命名规则变量命名规则是为了增强代码的可读性和容易维护性。
以下为C++必须遵守的变量命名规则:1、变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
2、第一个字母必须是字母或者下划线开头。
3、不能使用C++关键字来命名变量,以免冲突。
4、变量名区分大小写。
变量命名规则:一、用最短字符表示最准确的意义。
二、使用变量前缀。
1、整型前缀int nId; //int前缀:nshort sId; //short前缀:sunsigned int unId // unsigned int 前缀:unlong lId; //long前缀:l2、浮点型前缀float fValue; //float前缀:fdouble dValue; //double前缀:d3、字符型前缀char chChar; //char前缀:ch4、字符串前缀char szPath; //char字符串前缀:szstring strPath; //string字符串前缀:strCString strPath; //MFC CString类前缀:str5、布尔型前缀bool bIsOK; //bool类型前缀:bBOOL bIsOK; //MFC BOOL前缀:b6、指针型前缀char * pPath; //指针前缀:p7、数组前缀int arrnNum; //数组前缀:arrCString arrstrName; //数组前缀+类型前缀+名称8、结构体前缀STUDENT tXiaoZhang; //结构体前缀:t9、枚举前缀enum emWeek; //枚举前缀:em10、字节的前缀BYTE byIP; //字节前缀:by11、字的前缀DWORD dwMsgID; //双字前缀:dwWORD wMsgID; //单字前缀:w12、字符指针前缀LPCTSTR ptszName; //TCHAR类型为ptszLPCSTR pszName; //pcszLPSTR pszName; //psz13、STL容器前缀vector<int> vecValue; //vector容器前缀:vec14、RECT矩形结构前缀RECT rcChild; //rcCRECT rcChild/ //rc15、句柄前缀HWND hWndDlg; //hHBRUSH hBr; //hHPEN hPen; //hHBITMAP hBmpBack; //h16、Windows颜色前缀COLORREF crFont; //cr17、Windows DC前缀CDC dcClient; //dc三、类的成员变量以m_开头,后面为变量,变量同时还要加前缀。
C语言变量名命名规则
二、命名规则:
1、变量名的命名规则
①、变量的命名规则要求用“匈牙利法则”。即开头字母用变量的类型,
其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求
单词的第一个字母应大写。
即:
变量名=变量类型+变量的英文意思(或缩写)
====//
//
功能:
从一个 String
中删除另一个
String。
//
参数:
strByDelete,strToDelete
//
(入口)
strByDelete:
被删除的字符串
(原来的字符串)
//
(出口)
strToDelete:
要从上个字符串
中删除的字符串。
//
返回:
找到并删除返回 1,否则返回 0。(对返回
于 8 个字母。
例如:
long
cmGetDeviceCount(……);
3、函数参数规范:
①、
参数名称的命名参照变量命名规范。
②、
为了提高程序的运行效率,减少参数占用的堆栈,传递大
结构的参数,一律采用指针或引用方式传递。
③、
为了便于其他程序员识别某个指针参数是入口参数还是出
口参数,同时便于编译器检查错误,应该在入口参数前加入 const 标志。
③、
在注释中应该详细说明函数的主要实现思路、特别要注明
自己的一些想法,如果有必要则应该写明对想法产生的来由。对一些模仿的函数
应该注释上函数的出处。
④、
在注释中详细注明函数的适当调用方法,对于返回值的处
单片机C语言变量名命名规则整理
C语言变量名命名规则一、程序风格:1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。
要求相匹配的大括号在同一列,对继行则要求再缩进4格。
例如:2、提示信息字符串的位置在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。
3、对变量的定义,尽量位于函数的开始位置。
二、命名规则:1、变量名的命名规则①、变量的命名规则要求用“匈牙利法则”。
即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。
即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
见下表:对未给出的变量类型要求提出并给出命名建议给技术委员会。
②、指针变量命名的基本原则为:对一重指针变量的基本原则为:“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变量的命名要求定义的类型用大写。
c语言变量命名规则的注意事项
在C语言中,变量命名规则的注意事项对于代码的可读性和可维护性至关重要。
以下是需要注意的几个方面:1. **清晰简洁**:变量名应该简洁明了,能够清晰地表达变量的含义。
避免使用过于复杂的名称,以免影响代码的可读性。
2. **避免使用保留字**:避免使用C语言的保留字作为变量名,这些字会被编译器识别为关键字,从而引发错误。
3. **使用有意义的名称**:变量名应该能够准确地描述变量的用途。
使用有意义的名称有助于提高代码的可读性和可维护性。
4. **大小写组合**:在C语言中,变量名区分大小写。
因此,变量名应该使用小写字母组合,以避免与其他变量名混淆。
5. **长度限制**:C语言对变量名的长度没有严格的限制,但过长的名称会增加代码的复杂性和可读性。
通常建议将变量名限制在25个字符以内。
6. **驼峰命名法**:驼峰命名法是一种常见的变量命名规则,即将多个单词组合在一起,每个单词的首字母小写,其余字母大写。
这种命名法有助于提高代码的可读性,并使代码更易于理解。
7. **不要使用特殊字符**:在C语言中,变量名只能包含字母、数字和下划线。
避免使用特殊字符,以免引起混淆或引发错误。
8. **类型暗示**:如果变量是一个特定的数据类型(如整数、浮点数、数组等),应该在变量名中显式地暗示该变量的类型。
例如,可以使用“count”表示计数器变量,“data”表示数据变量等。
9. **遵循一致性**:在整个代码库中,应该保持变量命名的一致性。
采用相同的命名约定和风格有助于提高代码的可读性和可维护性。
下面是一个示例,展示了一个符合上述规则的变量命名:```cint numberOfStudents; // 变量名清晰简洁int totalScore; // 避免使用保留字int student1Score; // 使用有意义的名称int i; // 使用小写字母组合float avgGrade; // 驼峰命名法int scores[5]; // 避免使用特殊字符```通过遵循这些规则,可以提高代码的可读性和可维护性,减少潜在的错误和问题。
c语言合法变量名
c语言合法变量名在C语言中,变量名是用来标识一个变量的名称,合法的变量名是由字母、数字和下划线组成的。
但是,变量名必须以字母或下划线开头,不能以数字开头。
同时,变量名的长度也有限制,通常不能超过31个字符。
下面我们就来详细介绍一下C语言中合法的变量名。
1. 变量名的首字母必须是字母或下划线在C语言中,变量名的首字母必须是字母或下划线,不能以数字开头。
这是因为C语言中数字是用来表示常量的,而变量名应该是用来标识变量的名称,因此不能以数字开头。
2. 变量名可以由数字、字母和下划线组成除了首字母必须是字母或下划线外,变量名可以由数字、字母和下划线组成,但是不能包含其他字符,如空格、标点符号等。
3. 变量名的长度有限制在C语言中,变量名的长度通常不能超过31个字符。
这是由编译器的限制所决定的。
如果变量名过长,编译器将无法识别它。
4. 变量名区分大小写在C语言中,变量名是区分大小写的。
这意味着变量名中的大写字母和小写字母是不同的字符。
例如,变量名num和变量名Num是不同的变量名。
5. 变量名不能与关键字重复在C语言中,有一些关键字是具有特殊含义的,不能用作变量名。
例如,if、else、while等关键字都是不能用作变量名的。
6. 变量名应该具有描述性在定义变量名时,应该尽量使其具有描述性,能够清晰地表达变量的含义。
这样可以使代码更加易于阅读和理解。
7. 变量名应该符合命名规范在C语言中,有一些命名规范是应该遵守的,例如驼峰命名法。
这种命名法是将单词的首字母大写,其他字母小写,并将单词连接起来形成一个单词。
例如,变量名firstName和变量名lastName就是采用了驼峰命名法。
总结在C语言中,变量名是用来标识变量的名称,合法的变量名由字母、数字和下划线组成,但是首字母必须是字母或下划线,不能以数字开头。
同时,变量名的长度也有限制,通常不能超过31个字符。
变量名应该具有描述性,能够清晰地表达变量的含义,并且应该符合命名规范。
VC++变量,范围前缀等命名规则
匈牙利命名法规则一般情况下,变量的取名方式为:<scope_> + <prefix_> + <qualifier>。
范围前缀_,类型前缀_,限定词。
特殊的类型命名,前缀表示:类、接口前缀 类型 例子 备注Lm Class LmObject I Interface 接口 IUnknown 表示类型本身不与范围前缀结合使用注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。
类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。
如类名LmSketPoint表示草图点的类定义,而它的两个实例_StartPoint,_EndPoint分别代表起点和终点的语义。
类的实例命名带上前缀_。
特殊约定:a. MouseTool的派生类的前缀为_Mt.b.对话框类的前缀为CDlg.c.橡皮条类的前缀为_Rb.范围前缀:前缀 类型 例子 备注g_ 全局作用域 g_Serversm_ 成员变量 m_pDoc,l_ 局部作用域 l_strName 少用 注:编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:特征模块: Fea草图模块: Sket装配模块: Asm工程图模块: Lay曲面模块: Surf界面模块: Ui常用的一般数据类型的前缀前缀 类型 内存规格描述 例子ch char 8-bitcharacter chGrade ch TCHAR 16-bit character if _UNICODE is defined chNamevalue bEnabledb BOOL Booleann int Integer (size dependent on operating system) nLengthnLengthn UINT Unsigned value (size dependent on operatingsystem)w WORD 16-bit unsigned value wPosl LONG 32-bit signed integer lOffsetdw DWORD 32-bit unsigned integer dwRangep * Ambient memory model pointer pDocpointer lpDoc lp FAR* Farlpsz LPSTR 32-bit pointer to character string lpszNamelpsz LPCSTR 32-bit pointer to constant character string lpszNamelpszName lpsz LPCTSTR32-bit pointer to constant character string if_UNICODE is definedh handle Handle to Windows object hWndlpfn (*fn)() callbackFar pointer to CALLBACK function lpfnAbort常用Windows对象名称缩写Windows 对象 例子变量 MFC类 例子对象HWND hWnd; CWnd* pWnd;pDlg;HDLG hDlg; CDialog*HDC hDC; CDC* pDC;pGdiObj;HGDIOBJ hGdiObj; CGdiObject*HPEN hPen; CPen* pPen;HBRUSH hBrush; CBrush* pBrush;HFONT hFont; CFont* pFont;HBITMAP hBitmap; CBitmap* pBitmap;HPALETTE hPalette; CPalette* pPalette;HRGN hRgn; CRgn* pRgn;HMENU hMenu; CMenu* pMenu;pStatic;HWND hCtl; CStatic*pBtn;HWND hCtl; CButton*pEdit;HWND hCtl; CEdit*pListBox;HWND hCtl; CListBox*pComboBox;HWND hCtl; CComboBox*Visual C++常用宏定义命名列表前缀 符号类型 符号例子 范围IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1 to 0x6FFFIDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1 to 0x6FFFIDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 1 to 0x6FFFIDC_ 光标资源(Cursor) IDC_PENCIL 1 to 0x6FFFIDI_ 图标资源(Icon) IDI_NOTEPAD 1 to 0x6FFFID_IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING 0x8000 to 0xDFFFHID_ 命令上下文帮助(CommandHelp context) HID_TOOLS_SPELLING 0x18000to0x1DFFFIDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 8 to 0xDFFFHIDP_ 消息框上下文帮助(Message-box Helpcontext) HIDP_INVALID_PARTNO 0x30008to0x3DFFFIDS_ 字符串资源(String) IDS_COPYRIGHT 1 to 0x7FFFIDC_ 对话框内的控制资源(Control)IDC_RECALC 8 to 0xDFFF Microsoft MFC宏命名规范名称类型_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本_ALPHA 仅编译DEC Alpha处理器_DEBUG 包括诊断的调试版本_MBCS 编译多字节字符集_UNICODE 在一个应用程序中打开UnicodeAFXAPI MFC提供的函数CALLBACK 通过指针回调的函数库标识符命名法标识符值和含义U ANSI(N)或Unicode(U)D 调试或发行:D = 调试;忽略标识符为发行静态库版本命名规范库描述NAFXCWD.LIB 调试版本:MFC静态连接库NAFXCW.LIB 发行版本:MFC静态连接库UAFXCWD.LIB 调试版本:具有Unicode支持的MFC静态连接库UAFXCW.LIB 发行版本:具有Unicode支持的MFC静态连接库动态连接库命名规范名称类型_AFXDLL唯一的动态连接库(DLL)版本WINAPI Windows所提供的函数Windows.h中新的命名规范类型定义描述WINAPI使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型CALLBACK使用在应用程序回叫例程,如窗口和对话框过程中的FAR PASCAL的位置LPCSTR与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*)UINT可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x为32位);它是unsigned int的同义词LRESULT窗口程序返回值的类型LPARAM声明lParam所使用的类型,lParam是窗口程序的第四个参数WPARAM声明wParam所使用的类型,wParam是窗口程序的第三个参数LPVOID一般指针类型,与(void *)相同,可以用来代替LPSTR。
C函数变量命名规则
a Array 数组b BOOL (int) 布尔(整数)by Unsigned Char (Byte) 无符号字符(字节)c Char 字符(字节)cb Count of bytes 字节数cr Color reference value 颜色(参考)值cx Count of x (Short) x的集合(短整数)dw DWORD (unsigned long) 双字(无符号长整数)f Flags (usually multiple bit values) 标志(一般是有多位的数值) fn Function 函数g_ global 全局的h Handle 句柄i Integer 整数l Long 长整数lp Long pointer 长指针m_ Data member of a class 一个类的数据成员n Short int 短整数p Pointer 指针s String 字符串sz Zero terminated String 以0结尾的字符串tm Text metric 文本规则u Unsigned int 无符号整数ul Unsigned long (ULONG) 无符号长整数w WORD (unsigned short) 无符号短整数x,y x, y coordinates (short) 坐标值/短整数v void 空有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。
前缀类型例子g_ 全局变量 g_ServersC 类或者结构体 CDocument,CPrintInfom_ 成员变量 m_pDoc,m_nCustomersVC常用前缀列表:前缀类型描述例子ch char 8位字符 chGradech TCHAR 16位UNICODE类型字符 chNameb BOOL 布尔变量 bEnabledn int 整型(其大小由操作系统决定) nLengthn UINT 无符号整型(其大小由操作系统决定) nLengthw WORD 16位无符号整型 wPosl LONG 32位有符号整型 lOffsetdw DWORD 32位无符号整型 dwRangep * Ambient memory model pointer 内存模块指针,指针变量 pDoclp FAR* 长指针 lpDoclpsz LPSTR 32位字符串指针 lpszNamelpsz LPCSTR 32位常量字符串指针 lpszNamelpsz LPCTSTR 32位UNICODE类型常量指针 lpszNameh handle Windows对象句柄 hWndlpfn (*fn)() 回调函数指针Callback Far pointer to CALLBACK function lpfnAbortWindows对象名称缩写:Windows对象例子变量 MFC类例子对象HWND hWnd; CWnd* pWnd;HDLG hDlg; CDialog* pDlg;HDC hDC; CDC* pDC;HGDIOBJ hGdiObj; CGdiObject* pGdiObj; HPEN hPen; CPen* pPen;HBRUSH hBrush; CBrush* pBrush;HFONT hFont; CFont* pFont;HBITMAP hBitmap; CBitmap* pBitmap; HPALETTE hPalette; CPalette* pPalette; HRGN hRgn; CRgn* pRgn;HMENU hMenu; CMenu* pMenu;HWND hCtl; CStatic* pStatic;HWND hCtl; CButton* pBtn;HWND hCtl; CEdit* pEdit;HWND hCtl; CListBox* pListBox;HWND hCtl; CComboBox* pComboBox;VC常用宏定义命名列表:前缀符号类型符号例子范围IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1~0x6FFFIDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1~ 0x6FFFHIDD_ 基于对话框的上下文帮助 HIDD_SPELL_CHECK 0x20001~0x26FFIDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 1~0x6FFFIDC_ 光标资源(Cursor) IDC_PENCIL 1~0x6FFFIDI_ 图标资源(Icon) IDI_NOTEPAD 1~0x6FFFID_、IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令上下文帮助 HID_TOOLS_SPELLING 0x18000~0x1DFFFIDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 8~0xDFFFHIDP_ 消息框上下文帮助 HIDP_INVALID_PARTNO 0x30008~0x3DFFFIDS_ 字符串资源(String) IDS_COPYRIGHT 1~0x7FFFIDC_ 对话框内的控制资源 IDC_RECALC 8~0xDFFFMicrosoft MFC宏命名规范名称类型_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本_ALPHA 仅编译DEC Alpha处理器_DEBUG 包括诊断的调试版本_MBCS 编译多字节字符集_UNICODE 在一个应用程序中打开UnicodeAFXAPI MFC提供的函数CALLBACK 通过指针回调的函数库标识符命名法标识符值和含义u ANSI(N)或Unicode(U)d 调试或发行:D = 调试;忽略标识符为发行静态库版本命名规范库描述NAFXCWD.LIB 调试版本:MFC静态连接库NAFXCW.LIB 发行版本:MFC静态连接库UAFXCWD.LIB 调试版本:具有Unicode支持的MFC静态连接库UAFXCW.LIB 发行版本:具有Unicode支持的MFC静态连接库动态连接库命名规范名称类型_AFXDLL 唯一的动态连接库(DLL)版本WINAPI Windows所提供的函数Windows.h中新的命名规范类型定义描述WINAPI 使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型CALLBACK 使用在应用程序回调程序,如窗口和对话框过程中的FAR PASCAL的位置LPCSTR 与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*) UINT 可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x 为32位);它是unsigned int的同义词LRESULT 窗口程序返回值的类型LPARAM 声明lParam所使用的类型,lParam是窗口程序的第四个参数WPARAM 声明wParam所使用的类型,wParam是窗口程序的第三个参数LPVOID 一般指针类型,与(void *)相同,可以用来代替LPSTR。
C++VC++ 命名及其他规范
C++/VC++ 命名及其他规范第一部分:共性规则共有八项。
作为指导供成员采纳。
【规则1】标识符应简单明了,望文知意。
标识符采用英文单词。
切忌使用汉语拼音来命名。
程序中的英文单词一般不要太复杂,用词应当准确。
例如不要把CurrentValue写成NowValue。
尽量不要使用单词缩写或首字母缩写。
只有当标识符过长时才考虑使用单词缩写。
在使用缩写时,不要自创缩写,尽量使用被广泛接受的缩写。
【规则2】标识符长度应当符合“min-length && max-information”原则。
一般的讲,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。
但是名字也不是越长越好。
例如:变量名maxval就比maxValueUntilOverflow更好用。
单字符的名字也是有用的,常见的如i,j,k,m,n,x,y,z等,它们通常用作函数内的局部变量。
【规则3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。
例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。
而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。
别把这两类风格混在一起用。
【规则4】程序中不要出现仅靠大小写区分的标识符。
例如:int x和int X;void foo() 和void FOO() 等。
【规则5】避免在不同级别的作用域中重名。
程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者因作用域的不同而不会发生语法错误,但会使人产生误解。
【规则6】正确命名具有互斥意义的标识符。
使用正确的反义词组命名具有互斥意义的变量或相反动作的函数。
如:"MinValue"和"MaxValue","GetName()" 和 "SetName()"【规则7】尽量避免名字中出现数字编号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转载:vc软件开发规范--------------------------------------------------------------------------------一、程序风格:1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。
要求相匹配的大括号在同一列,对继行则要求再缩进4格。
例如:2、提示信息字符串的位置在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。
3、对变量的定义,尽量位于函数的开始位置。
二、命名规则:1、变量名的命名规则①、变量的命名规则要求用“匈牙利法则”。
即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。
即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
见下表:bool(BOOL) 用b开头 bIsParentbyte(BYTE) 用by开头 byFlagshort(int) 用n开头 nStepCountlong(LONG) 用l开头 lSumchar(CHAR) 用c开头 cCountfloat(FLOA T) 用f开头 fAvgdouble(DOUBLE) 用d开头 dDetavoid(VOID) 用v开头 vV ariantunsigned int(WORD)用w开头 wCountunsigned long(DWORD) 用dw开头 dwBroadHANDLE(HINSTANCE)用h开头 hHandleDWORD 用dw开头 dwWordLPCSTR(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{long lX;long lY;}类一般用C开头如:class CcmFPoint{public:float fPoint;};对一般的结构应该定义为类模板,为以后的扩展性考虑如:templateclass CcmTV ector3d{public:TYPE x,y,z;};⑧、对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。
如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类别。
⑨、对const 的变量要求在变量的命名规则前加入c_,即:c_+变量命名规则;例如:const char* c_szFileName;2、函数的命名规范:函数的命名应该尽量用英文表达出函数完成的功能。
遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度不得少于8个字母。
例如:long cmGetDevi ceCount(……);3、函数参数规范:①、参数名称的命名参照变量命名规范。
②、为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。
③、为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误,应该在入口参数前加入const标志。
如:……cmCopyString(const char * c_szSource, char * szDest)4、引出函数规范:对于从动态库引出作为二次开发函数公开的函数,为了能与其他函数以及Windows的函数区分,采用类别前缀+基本命名规则的方法命名。
例如:在对动态库中引出的一个图象编辑的函数定义为 imgFunctionname(其中img为image缩写)。
现给出三种库的命名前缀:①、对通用函数库,采用cm为前缀。
②、对三维函数库,采用vr为前缀。
③、对图象函数库,采用img为前缀。
对宏定义,结果代码用同样的前缀。
5、文件名(包括动态库、组件、控件、工程文件等)的命名规范:文件名的命名要求表达出文件的内容,要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名。
三、注释规范:1、函数头的注释对于函数,应该从“功能”,“参数”,“返回值”、“主要思路”、“调用方法”、“日期”六个方面用如下格式注释://程序说明开始//================================================================//// 功能:从一个String 中删除另一个String。
// 参数: strByDelete,strToDelete// (入口) strByDelete: 被删除的字符串(原来的字符串)// (出口) strToDelete: 要从上个字符串中删除的字符串。
// 返回:找到并删除返回1,否则返回0。
(对返回值有错误编码的要// 求列出错误编码)。
// 主要思路:本算法主要采用循环比较的方法来从strByDelete中找到// 与strToDelete相匹配的字符串,对多匹配strByDelete// 中有多个strToDelete子串)的情况没有处理。
请参阅:// 书名......// 调用方法:......// 日期:起始日期,如:2000/8/21.9:40--2000/8/23.21:45//================================================================//函数名(……)//程序说明结束①、对于某些函数,其部分参数为传入值,而部分参数为传出值,所以对参数要详细说明该参数是入口参数,还是出口参数,对于某些意义不明确的参数还要做详细说明(例如:以角度作为参数时,要说明该角度参数是以弧度(PI),还是以度为单位),对既是入口又是出口的变量应该在入口和出口处同时标明。
等等。
②、函数的注释应该放置在函数的头文件中,在实现文件中的该函数的实现部分应该同时放置该注释。
③、在注释中应该详细说明函数的主要实现思路、特别要注明自己的一些想法,如果有必要则应该写明对想法产生的来由。
对一些模仿的函数应该注释上函数的出处。
④、在注释中详细注明函数的适当调用方法,对于返回值的处理方法等。
在注释中要强调调用时的危险方面,可能出错的地方。
⑤、对日期的注释要求记录从开始写函数到结束函数的测试之间的日期。
⑥、对函数注释开始到函数命名之间应该有一组用来标识的特殊字符串。
如果算法比较复杂,或算法中的变量定义与位置有关,则要求对变量的定义进行图解。
对难以理解的算法能图解尽量图解。
2、变量的注释:对于变量的注释紧跟在变量的后面说明变量的作用。
原则上对于每个变量应该注释,但对于意义非常明显的变量,如:i,j等循环变量可以不注释。
例如: long lLineCount //线的根数。
3、文件的注释:文件应该在文件开头加入以下注释://///////////////////////////////////////////////////////////////////// 工程: 文件所在的项目名。
// 作者:**,修改者:**// 描述:说明文件的功能。
// 主要函数:…………// 版本: 说明文件的版本,完成日期。
// 修改: 说明对文件的修改内容、修改原因以及修改日期。
// 参考文献: ....../////////////////////////////////////////////////////////////////////为了头文件被重复包含要求对头文件进行定义如下:#ifndef __FILENAME_H__#define __FILENAME_H__其中FILENAME为头文件的名字。
4、其他注释:在函数内我们不需要注释每一行语句。
但必须在各功能模块的每一主要部分之前添加块注释,注释每一组语句,在循环、流程的各分支等,尽可能多加以注释。
其中的循环、条件、选择等位置必须注释。
对于前后顺序不能颠倒的情况,建议在注释中增加序号。
例如:在其他顺序执行的程序中,每隔3—5行语句,必须加一个注释,注明这一段语句所组成的小模块的作用。
对于自己的一些比较独特的思想要求在注释中标明。
四、程序健壮性:1、函数的返回值规范:对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置。
(单入口单出口)。
要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回。
例如编码定义如下:#define CM_POINT_IS_NULL CMMAKEHR(0X200)::建议函数实现如下:long 函数名(参数,……){long lResult; //保持错误号lResult=CM_OK;//如果参数有错误则返回错误号if(参数==NULL){lResult=CM_POINT_IS_NULL;goto END;}……END:return lResult;}2、关于goto的应用:对goto语句的应用,我们要求尽量少用goto语句。
对一定要用的地方要求只能向后转移。
3、资源变量的处理(资源变量是指消耗系统资源的变量):对资源变量一定赋初值。
分配的资源在用完后必须马上释放,并重新赋值。
4、对复杂的条件判断,为了程序的可读性,应该尽量使用括号。
例:if(((szFileName!=NULL)&&(lCount> =0)))||(bIsReaded==TRUE))五、可移植性:1、高质量的代码要求能够跨平台,所以我们的代码应该考虑到对不同的平台的支持,特别是对windows98和windowsnt的支持。