电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

软件代码评审检查点CC++VIP免费

软件代码评审检查点CC++_第1页
1/22
软件代码评审检查点CC++_第2页
2/22
软件代码评审检查点CC++_第3页
3/22
软件代码评审检查点--C -C ++ 文件结构审查 【检查点1 】文件名是否和实际内容相符?[规范性] 〖说明〗文件名应该清晰说明出该文件的功能和作用。 〖案例〗略 【检查点2 】多个模块公用的定义和函数原型的说明是否放在“*.h”? 〖说明〗一般来说,*.h文件是公用的头文件,文件中申明的宏、结构、函数原型等,一其他的模块需要引用。 〖案例〗略 【检查点3 】私有的申明和函数原型的说明是否放在“*.inc”? 〖说明〗一般来说,*.inc文件是私有的头文件。文件中申明的宏、结构、函数原型等,是仅供本模块使用。 〖案例〗略 【检查点4 】头文件是否使用了#ifndef---#endif宏开关来防止重复引用? 〖说明〗一般来说,头文件通过如下方法避免重复引用: #ifndef _XXX_H_ #define _XXX_H_ /*文件主体*/ #endif 【检查点5 】函数原型是否没有明确申明返回值类型 〖说明〗虽然C语言并不需要精确定义和声明函数返回类型,如果函数没有返回值,则定义为类型void。如果函数没有定义返回类型,编译器将认为其返回类型为int。在这种情况,很难判断函数是否应该有返回值。为了避免这种情况,函数返回类型应该被定义和声明。 〖案例〗错误书写: SSfunction() ; 正确书写: void SSfunction() ; 预处理 【检查点1 】宏定义是否缺少了“( )”符号? 〖说明〗对于表达式的宏定义,注意要对变量和表达式本身使用“( )”,防止宏展开时出错。 〖案例〗案例一 注意下面的宏定义极易出现问题: #define ADD(x, y) x + y 上面的宏在如下代码中出错: c = ADD(a, b) /2; 宏展开后的形式为: c = a + b /2; 而不是: c = (a + b) /2; 案例二 #define MULTI(x, y) x*y 在程序中代码如下: a = MULTI( b+c, 2); 宏展开后为: a = b + c * 2 ; 而不是: a = (b + c) * 2; 【检查点2 】宏定义是否存在不期望或者意料之外的附加效应? 〖说明〗宏是一个短行的文本,或者说文本模板,它可以被扩充为更长的文本.通常由宏产生的问题并不在宏定义本身,而往往由其下面的程序引起. 采用宏可以使代码简化,但它也可能隐藏重要的细节和关键的操作. 〖案例〗 #define SQUARE ( x ) ( ( x ) * ( x ) ) . . . w = SQUARE ( ++ value ); 实际对宏SQUARE的引用将导致value被增加两次 , 因为这个语句将被C预处理器扩充以下形式: w = ( ( + + value )...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

软件代码评审检查点CC++

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部