正文

C++/C代码审查表(二)2007-04-11 22:07:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/24810.html

分享到:

 

……

 

表达式与基本语句

重要性

审查项

结论

重要

如果代码行中的运算符比较多,是否已经用括号清楚地确定表达式的操作顺序?

 

 

是否编写太复杂或者多用途的复合表达式?

 

重要

是否将复合表达式与“真正的数学表达式”混淆?

 

重要

是否用隐含错误的方式写if语句? 例如

1)将布尔变量直接与TRUEFALSE或者10进行比较。

2)将浮点变量用“==”或“!=”与任何数字比较

3)将指针变量用“==”或“!=”与NULL比较

 

 

如果循环体内存在逻辑判断,并且循环次数很大,是否已经将逻辑判断移到循环体的外面?

 

重要

Case语句的结尾是否忘了加break

 

重要

是否忘记写switchdefault分支?

 

重要

使用goto 语句时是否留下隐患? 例如跳过了某些对象的构造、变量的初始化、重要的计算等。

 

 

……

 

常量

重要性

审查项

结论

 

是否使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串?

 

 

C++ 程序中,是否用const常量取代宏常量?

 

重要

如果某一常量与其它常量密切相关,是否在定义中包含了这种关系?

 

 

是否误解了类中的const数据成员?因为const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。

 

 

……

 

函数设计

重要性

审查项

结论

 

参数的书写是否完整?不要贪图省事只写参数的类型而省略参数名字。

 

 

参数命名、顺序是否合理?

 

 

参数的个数是否太多?

 

 

是否使用类型和数目不确定的参数?

 

 

是否省略了函数返回值的类型?

 

 

函数名字与返回值类型在语义上是否冲突?

 

阅读(2082) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册