C与C++编码规范.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C与C编码规范

C/C++编码规范BELL实验室的研究资料表明,软件错误中18%左右产生于概要设计阶段,15%左右产生于详细设计阶段,而编码阶段产生的错误占的比例则接近50%;分析表明,编码阶段产生的错误当中,语法错误大概占20%左右,而由于未严格检查软件逻辑导致的错误、函数(模块)之间接口错误及由于代码可理解 度低导致优化维护阶段对代码的错误修改引起的错误则占了一半以上。可见,提高软件质量必须降低编码阶段的错误率。 本文从代码的可维护性(可读、可理解性、可修改性)、代码逻辑与效率、函数(模块)接口、可测试性四个方面阐述了软件编程规范,规范分成规则和建议两种,其中规则部分为强制执行项目,而建议部分则不作强制,可根据习惯取舍。编码规范  1.排版风格规则 1 程序块采用缩进风格编写,缩进为4个空格位。排版不混合使用空格和TAB键。 规则2 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如-),后不应加空格。 采用这种松散方式编写代码的目的是使代码更加清晰。例如: (1) 逗号、分号只在后面加空格 printf(%d %d %d , a, b, c); (2)比较操作符, 赋值操作符=、 +=,算术操作符+、%,逻辑操作符、,位域操作符、^等双目操作符的前后加空格 int i += 1; (3)!、~、++、--、(地址运算符)等单目操作符前后不加空格i++; (4)-、.前后不加空格 p-id = pId; // -指针前后不加空格 由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如最内层的括号内侧(即左括号后面和右括号前面)不要加空格,因为在C/C++语言中括号已经是最清晰的标志了。 另外,在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。 最后,即使留空格,也不要连续留两个以上空格(为了保证缩进和排比留空除外)。 规则3 函数体的开始,类的定义,结构的定义,if、for、do、while、switch及case语句中的程序都应采用缩进方式,{、}独占一行并且位于同一列,同时与引用它们的语句左对齐 正确书写: for ( ... ) { ... // 程序代码 } void DoString( void ) { ... // 程序代码 } 规则4 功能相对独立的程序块之间或for、if、do、while、switch等语句前后应加一空行。正确书写:if(!IsValid(ni)) { …//程序代码 } nPassId = SdnData[index].nPassId; nPassNo = SdnData[index].No; 规则5 if、while、for、case、default、do等语句自占一行。 示例:如下例子不符合规范。if(pUserCR == NULL) return;正确书写:If(pUserCR == NULL){return;}规则6 若语句较长(多于80字符),可分成多行写,划分出的新行要进行适应的缩进,使排版整齐,语句可读。规则7 一行最多写一条语句。 规则8 对结构成员赋值,等号尽量对齐。 示例: rect.top = 0; rect.left = 0; rect.right = 300;rect.bottom = 200;  规则9 #define的各个字段对齐 #define MAX_TASK_NUMBER 100#define BOTTOM_Y 400#define TOP_X 50 规则10 不同类型的操作符混合使用时,使用括号给出优先级。 如本来是正确的代码: if(year % 4 == 0 || year % 100 != 0 year % 400 == 0) 如果加上括号,则更清晰。if((year % 4) == 0 || ((year % 100) != 0 (year % 400) == 0)) 2. 可理解性 1.1 注释 注释的原则是有助于对程序的阅读理解,注释不宜太多也不能太少,太少不利于代码理解,太多则会对阅读产生干扰,因此只在必要的地方才加注释,而且注释要准确、易懂、尽可能简洁。注释量一般控制在30%到50%之间。 规则1 程序在必要的地方必须有注释,注释要准确、易懂、简洁。 例如如下注释意义不大。 /* 如果bSnap为true */ if (bSnap == true) 而如下的注释则给出了额外有用的信息。 /* 如果相机拍照,X轴将移动到待拍位 */if (bSnap == true) 规则2 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代

文档评论(0)

kabudou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档