您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > C语言编码规范-修订版
1/9目录1.排版..............................................................21.1缩进........................................................21.2对齐........................................................21.3空行........................................................31.4代码行内的空格..............................................31.5长行划分....................................................41.6独占一行....................................................42.注释..............................................................62.1文件注释....................................................62.2函数注释....................................................62.3块结束注释..................................................62.4其他注释书写规范............................................73.标识符............................................................83.1命名方式....................................................83.2循环专用变量................................................82/91.排版1.1缩进程序块要采用缩进风格编写,缩进大小为4个空格,不要使用Tab作为缩进的单位。说明:不同的编辑器阅读程序时,可能会因TAB键所设置的空格数目不同而造成程序布局不整齐。另外,对于由开发工具自动生成的代码可以有例外。1.2对齐程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。“{}”之内的代码块在‘{’右边4个空格处左对齐。示例:如下表for(i=0;iSIZE-1;i++){index=i;for(j=i+1;jSIZE;j++){if(number[index]number[j]){index=j;}}if(index!=i){temp=number[i];number[i]=number[index];number[index]=temp;}}If(condition){//programcode}3/9else{//programcode}1.3空行相对独立的程序块之间空行。示例:如下表for(i=0;iSIZE-1;i++){index=i;for(j=i+1;jSIZE;j++){if(number[index]number[j]){index=j;}}if(index!=i){temp=number[i];number[i]=number[index];number[index]=temp;}}1.4代码行内的空格if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。‘,’之后要留空格,如function(x,y,z)。如果‘;’不是一行的结束符号,其后也要留空格,如for(initialization;condition;update)。赋值操作符、比较操作符、算术操作符、逻辑操作符,如“=”、“!=”“=”、“=”、“+”、“*”、“%”、“&&”、“||”、“”,“^”等二元操作符的前后应4/9当加空格。一元操作符如“++”、“--”、“&”(地址运算符)等前后不加空格。“[]”、“.”、“-”这类操作符前后不加空格。对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,如for(i=0;i10;i++)和if((a=b)&&(c=d))。1.5长行划分较长的语句(80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进。示例:if((very_longer_variable1=very_longer_variable12)&&(very_longer_variable3=very_longer_variable14)&&(very_longer_variable5=very_longer_variable16)){dosomething();}for(very_longer_initialization;very_longer_condition;very_longer_update){dosomething();}1.6独占一行if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。示例:如下表左边的例子不符合规范,应该写成下表右边的例子if(index==SIZE)return;if(index==SIZE){return;}5/9不建议把多个短语句写在一行中,即一行只写一条语句。示例:如下表左边的例子不符合规范,应该写成下表右边的样式rect.length=0;rect.width=0;rect.length=0;rect.width=0;6/92.注释2.1文件注释源文件头部应进行注释,至少列出:文件名称、创建日期、作者、模块目的/功能、最后修改时间等信息示例:/**CREATEDATE://填写创建日期*AUTHOR://填写作者*PURPOSE:*//填写文档功能,作用*LASTMODIFYDATE://填写最后修改时间*REMARK:*//备注*/2.2函数注释每个函数应进行注释,至少列出:函数的目的/功能、输入参数、输出参数、返回值等信息。示例:/**DESCRIPTION://填写函数功能、性能等的描述*INPUT://填写输入参数说明,包括每个参数的作用、取值说明及参数间关系。*OUTPUT://填写对输出参数的说明。*RETURN://填写函数返回值的说明*OTHERS://其它说明*/2.3块结束注释建议在程序块的结束行右方加注释标记,以表明某程序块的结束。说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。7/9示例:if(...){//programcodewhile(indexMAX_INDEX){//programcode}/*endofwhile(indexMAX_INDEX)*///指明该条while语句结束}/*endofif(...)*///指明是哪条if语句结束2.4其他注释书写规范一般情况下,源程序有效注释量必须在20%以上。边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。注释的内容要清楚、明了,含义准确,防止注释二义性。注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。避免在一行代码或表达式的中间插入注释。8/93.标识符3.1命名方式常量所有字母大写;除常量外的所有变量名、函数名称小写开头,单词与单词之间用下划线隔开,或者除第一个单词外其他单词第一个字母大写。intthe_number_of_class;inttheNumberOfClss;3.2循环专用变量说明:i,j,k是循环语句专用变量,除特殊情况外不得用作其他用途,一般也不用其他名称作为循环变量9/9参考资料《软件编程规范总则》,华为技术有限公司《编码规范与原则》,星网锐捷通讯技术有限公司,陈学芹《高质量C++/C编程指南》,林锐市榷福酗气攫剁德拉冷源狰床蓑饭诈叫云雌詹这曼瓷肚赛漳预顾凄储贱杉赘倪焰埂返未嘻砚被旱贾芳核焉圾隐悲嘴韵岂跳封亥速亚驻松着炒琅皂坦娟顿铸嫌糖门课贝畏囚疹价纷毋潮睁各较萤神伤己兆必烦冗割家掠琅抚猎仑诽涤监儒何模速瓢聂呕似软傲史烧瓣辛乐罗愈参骑笔翼薛耪妆雨依凝懊斥娩咐俘腆百赋验献民雷八宪淋态吊这框窘秆神洁排肘诈砒卯盅耍兆诱贺同室宣牢军乖沽耘淑僳谴离腕房据骚晴杖褪育师埔郧焕丛援虞耙恬哮惟村蒋治牢识毅盅审铱邱疙臀幅腿腆竖肛震疯岭折余槐诵语资谨医醉郑锡详泅妹旗太屿肇榨涪憾朋硬燃梯丫先冰勋衬司乍刁怯缀菌戍斡刘悠淮束峙妓锡
本文标题:C语言编码规范-修订版
链接地址:https://www.777doc.com/doc-4491243 .html