欢迎来到天天文库
浏览记录
ID:40058587
大小:400.51 KB
页数:30页
时间:2019-07-18
《《c书写规范》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C/C++源代码书写规范1.在.h/.cpp的开头应有一段格式统一的说明,内容包括:a.文件名(FileName);b.创建人(Creator);c.文件创建时间(Date);d.简短说明文件功能、用途(Comment)。例://////////////////////////////////////////////FileName:GetVersion.h//Creator:LiuHaifeng//Date:2002-10-28//Comment:Getfileversioninformation///////////////////////////////
2、////////2.对于主要功能函数应有注释说明。内容包括:功能、入口/出口参数,必要时还可有备注或补充说明,对于函数中的主要功能代码,也应有注释说明。注释以英文为主。例://Remarks://Checkfilewhetherexist////Parameters://LPCTSTRlpszPathName:Inputfullpathname////Returnvalues://int:Non-zeromeanssuccess//Zeromeansfailure//3.每列代码的长度推荐为80列,最长不得超过120列;折行以对齐为准。例:HANDLEKSOp
3、enFile(constcharcszFileName[],intnMode);或者:BOOLKSReadFile(HANDLEhFile,void*pvBuffer,intnReadSize,int*pnReadSize);4.循环、分支代码,判断条件与执行代码不得在同一行上。例:正确:if(n==-2)n=1;elsen=2;不得写做:if(n==-2)n=1;elsen=2;5.指针的定义,*号既可以紧接类型,也可以在变量名之前。例:可写做:int*pnsize;也可写做:int*pnsize;但不得写做:int*pnsize;6.在类的成员函数内调用非
4、成员函数时,在非成员函数名前必须加上"::"。例:::Sleep(2000);7.函数入口参数有缺省值时,应注释说明。例:BOOLKSSaveToFile(constcharcszFileName[],BOOLbCanReplace/*=TRUE*/);或者:BOOLKSSaveToFile(constcharcszFileName[],BOOLbCanReplace//=TRUE);8.elseif必须写在一行。9.与‘{’、‘}’有关的各项规定:9.1‘{’、‘}’应独占一行。在该行内可有注释。例:正确:for(i=0;i5、...printf("Line%d:",i);printf("%s",pFileLines);}不得写做:for(i=0;i0){m=1;n++;}不得写做:if(i>0){m=1;n++;}例外:if(i==0){ASSERT(FALSE);return;}9.3在循环、分支之后若只有一行代码,虽然可省略‘{’、‘}’,但不推荐这么做6、。若省略后可能引起歧义,则必须加上‘{’、‘}’。例:正确:if(n==-2)n=1;Elsen=2;或者:if(n==-2){n=1;}elseif(n!=nTemp){n=2;}else{n=3;}不得写做:if(n==-2)n=1;elseif(n!=nTemp)n=2;elsen=3;不推荐:if(i<1){n=1;}else{if(i==1){n=2;}else{if(i>1){n=3;}}}10.与空格有关的各项规定。10.1在所有两目、三目运算符的两边都必须有空格。在单目运算符两端不必空格。但在‘->’、‘::’、‘.’、‘[’、‘]’等运算符前7、后,及‘&’(取地址)、‘*’(取值)等运算符之后不得有空格。例:正确:intn=0,nTemp;for(inti=nMinLine;i<=nMaxLine;i++)不得写做:intn=0,nTemp;for(inti=nMinLine;i<=nMaxLine;i++)10.2for、while、if等关键词之后应有1个空格,再接‘(’,之后无空格;在结尾的‘)’前不得有空格。例:正确:if(-2==n)不得写做:if(-2==n)或if(-2==n)等等。10.3调用函数、宏时,‘(’、‘)’前后不得有空格。例:正确:printf("%d",nIndex8、);不得写做:printf("%d
5、...printf("Line%d:",i);printf("%s",pFileLines);}不得写做:for(i=0;i0){m=1;n++;}不得写做:if(i>0){m=1;n++;}例外:if(i==0){ASSERT(FALSE);return;}9.3在循环、分支之后若只有一行代码,虽然可省略‘{’、‘}’,但不推荐这么做
6、。若省略后可能引起歧义,则必须加上‘{’、‘}’。例:正确:if(n==-2)n=1;Elsen=2;或者:if(n==-2){n=1;}elseif(n!=nTemp){n=2;}else{n=3;}不得写做:if(n==-2)n=1;elseif(n!=nTemp)n=2;elsen=3;不推荐:if(i<1){n=1;}else{if(i==1){n=2;}else{if(i>1){n=3;}}}10.与空格有关的各项规定。10.1在所有两目、三目运算符的两边都必须有空格。在单目运算符两端不必空格。但在‘->’、‘::’、‘.’、‘[’、‘]’等运算符前
7、后,及‘&’(取地址)、‘*’(取值)等运算符之后不得有空格。例:正确:intn=0,nTemp;for(inti=nMinLine;i<=nMaxLine;i++)不得写做:intn=0,nTemp;for(inti=nMinLine;i<=nMaxLine;i++)10.2for、while、if等关键词之后应有1个空格,再接‘(’,之后无空格;在结尾的‘)’前不得有空格。例:正确:if(-2==n)不得写做:if(-2==n)或if(-2==n)等等。10.3调用函数、宏时,‘(’、‘)’前后不得有空格。例:正确:printf("%d",nIndex
8、);不得写做:printf("%d
此文档下载收益归作者所有