下载此文档

语言编码规范.ppt


文档分类:IT计算机 | 页数:约38页 举报非法文档有奖
1/38
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/38 下载此文档
文档列表 文档介绍
编码规范
诈决络喧贫翰梨异羊针挤倍描认垣湿嗅憾欧廓医诵杜痹躇仍撒厢箔零悼笔语言编码规范语言编码规范
目的与目标
规范部门内软件开发和设计风格,保证所有开发人员写出风格一致的代码
增强代码的健壮性、可读性和可维护性
通过人为以及自动的方式对最终软件应用确定质量标准
减少程序的潜在错误
学时:4 学时
教学方法:讲授ppt+上机练****点评
瓢惧萝毁吗铡乓唱苔利墨悯载菲锈钟汗正敖乘盛抽祖笛部拽渊仗送洋麦祥语言编码规范语言编码规范
课程概述
表达式和控制流程
初始化
代码格式
函数

兼容性
类型使用
类型转换
命名原则
头文件
性能
注释
优图签橙做嘉变袁赁轿挑杀纪加鲁祖咕淤瘪整拐锄嗡聋其领沤昌沃脂显臻语言编码规范语言编码规范
1 表达式和控制流程
规则:在移位操作中,右操作数必须小于左操作数的位数;
原理:此规则应用于32位操作系统,移位位数超出32位后,数值
不会是0;
Repair:
void foo()
{
unsigned int uVal = 1u;
uVal <<= 2; /* OK */
}
Example:
void foo()
{
unsigned int uVal = 1u;
uVal <<= 100; /* Violation */
}
忠轰芯池兔巩厢莉崩骤尾锅辊烟禹封瓤追蜂捣娠脖馋阀丢呈遣瓣豢瞒蜜眺语言编码规范语言编码规范
1 表达式和控制流程
规则:禁止在逻辑运算符[&&/||]的右操作数中出现++/--运算符
和函数调用操作;
原理:右操作数有可能没有执行
Example
int foo1(int);
void foo2()
{
int ishigh=1;
int x,i;
if (ishigh && ( x == i++)) {} /* Violation */
if (ishigh || ( x == foo1(x))) {} /* Violation */
}
吩磐摊示峰跌揣依涕魂玩瓷汲烛旱巍弹紫垮劲凌桂波实颅搞进匪联缎缝颤语言编码规范语言编码规范
1 表达式和控制流程
Repair
void func()
{
int a = 3;
int b = 4;
double d;
d = ((double)a) / b; // OK
}
规则:不要将两个int类型变量的除法结果赋值给float类型变量
原理:避免丢掉小数部分
Example
void func()
{
int a = 3;
int b = 4;
double d;
d = a / b; // Violation
}
脂消沉铸炕钧煤径喷垃哎舜钟郴岂衍毯峪汇惮贩讥频织枉浊砾嘱霖籽灌烙语言编码规范语言编码规范
1 表达式和控制流程
规则:不要在if/while/switch条件表达式中使用
++/--运算符
原理:提高可读性,避免错误
Example
int Foo (int iVar)
{
if (iVar-- && iVar<10) { // Violation
iVar += 10;
}
else{
iVar -= 10;
}
return iVar;
}
铃旱渴枕群臻蛙涉迄泡悠硅畸免特有殃瑞昼渭庄熏撞讽指谆佃圣眯陨崭储语言编码规范语言编码规范
1 表达式和控制流程
禁止在bool表达式中出现赋值语句
禁止对带符号的整型数进行位操作
不要对浮点型变量进行等于/不等于的判断
清晰的表示变量与0值的比较
在for语句的表达式中,只出现影响循环控制的变量,而不是其他无关变量
不要比较指针类型变量
不要在sizeof的参数中进行自增、自减[++/--]、赋值操作
在条件表达式中,对每个逻辑判断都使用(),即使没有逻辑上的需求
不要在if语句中的条件表达式中进行赋值操作
渴怔瓣享饭抒篇为相吞茸咖凑舅芽藉岔驼旱媳炉打躇屡晚珊妮宽搀烟晾最语言编码规范语言编码规范
1 表达式和控制流程
如果计数器从0开始计数,建议for语句的循环控制变量的取值采用“前闭后开区间”写法,以防止出现“差1”错误
在多重嵌套的循环中,建议将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨越循环层的次数,从而优化程序性能
如果循环体内存在逻辑判断,并且循环次数很大,建议将逻辑判断移到循环体的外面
赠淑敬阎诱咨卵直雏挞帅溉丽哪坷铜陡织讳坝爪葵声驹赞咎赛凤潭剿烫吩语言编码规范语言编码规范
2 初始化
规则:在enum类型中,将成员全部初始化,或者都不初始化
原理:避免代码错误
Example
enum TEST { /* Violation */
X=5,
Y,
Z=9,
};
enum TEST2 { /* Violation

语言编码规范 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数38
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fy3986758
  • 文件大小0 KB
  • 时间2015-12-10