C_C++语言编码规范_主体

C_C++语言编码规范_主体

ID:37578734

大小:249.05 KB

页数:41页

时间:2019-05-25

C_C++语言编码规范_主体_第1页
C_C++语言编码规范_主体_第2页
C_C++语言编码规范_主体_第3页
C_C++语言编码规范_主体_第4页
C_C++语言编码规范_主体_第5页
资源描述:

《C_C++语言编码规范_主体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编码规范东软IT人才实训中心Copyright2009-2010ByNeusoftGroup.Allrightsreserved2010年7月6日Confidential目的与目标•规范部门内软件开发和设计风学时:3学时教学方法:讲授ppt+格,保证所有开发人员写出风上机练习+点评格一致的代码•增强代码的健壮性、可读性和可维护性•通过人为以及自动的方式对最终软件应用质量标准•减少程序的潜在错误2010年7月6日Confidential没有代码风格的代码voidmain(){intfahr,celsius;intlower,upp

2、er,step;lower=0;upper=300;step=20;fahr=lower;while(fahr<=upper){celsius=5*(fahr-32)/9;printf("%dt%d",fahr,celsius);fahr=fahr+step;}}2010年7月6日Confidential修改后的代码#include#include/*对fahr=0,20,...,300打印华氏温度与摄氏温度对照表*/voidmain(){intfahr,celsius;intlower

3、,upper,step;lower=0;/*温度表的下限*/upper=300;/*温度表的上限*/step=20;/*步长*/fahr=lower;while(fahr<=upper){celsius=5*(fahr-32)/9;printf("%dt%d",fahr,celsius);fahr=fahr+step;}}2010年7月6日Confidential课程概述•表达式和控制流程•初始化•代码格式•函数•宏•兼容性•类型使用•类型转换•命名原则•内存分配和释放•头文件•性能•注释2010年7月6日Confiden

4、tial表达式和控制流程-1/5•规则:在移位操作中,右操作数必须小于左操作数的位数;•原理:此规则应用于32位操作系统,移位位数超出32位后,数值不会是0;•Example:voidfoo(){unsignedintuVal=1u;uVal<<=100;/*Violation*/}•Repair:voidfoo(){unsignedintuVal=1u;uVal<<=2;/*OK*/}2010年7月6日Confidential表达式和控制流程-2/5•规则:禁止在逻辑运算符[&&/

5、

6、]的右操作数中出现++/--运算符和函数调

7、用操作;•原理:右操作数有可能没有执行•Exampleintfoo1(int);voidfoo2(){intishigh=1;intx,i;if(ishigh&&(x==i++)){}/*Violation*/if(ishigh

8、

9、(x==foo1(x))){}/*Violation*/}2010年7月6日Confidential表达式和控制流程-3/5•规则:不要将两个int类型变量的除法结果赋值给float类型变量•原理:避免丢掉小数部分•ExampleRepairvoidfunc()voidfunc(){{inta=3;i

10、nta=3;intb=4;intb=4;doubled;doubled;d=a/b;//Violationd=((double)a)/b;//OK}}2010年7月6日Confidential表达式和控制流程-4/5•规则:不要在if/while/switch条件表达式中使用++/--运算符•原理:提高可读性,避免错误•ExampleintFoo(intiVar){if(iVar--&&iVar<10){//ViolationiVar+=10;}else{iVar-=10;}returniVar;}2010年7月6日Confid

11、ential表达式和控制流程-5/5•禁止在bool表达式中出现赋值语句•禁止对于带符号的整型数进行位操作•不要对浮点型变量进行等于/不等于的判断•清晰的表示变量与0值的比较•在for语句的表达式中,只出现影响循环控制的变量,而不是其他无关变量•不要比较指针类型变量•不要在sizeof的参数中进行自增、自减[++/--]、赋值操作•在条件表达式中,对每个逻辑判断都使用(),即使没有逻辑上的需求•不要在if语句中的条件表达式中进行赋值操作2010年7月6日Confidential循环语句效率•如果计数器从0开始计数,建议for语句

12、的循环控制变量的取值采用“前闭后开区间”写法,以防止出现“差1”错误•在多重嵌套的循环中,建议将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数,从而优化程序性能•如果循环体内存在逻辑判断,并且循环次数很大,建议将逻辑判断移到循环体的外面

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。