…… 表达式与基本语句 重要性 审查项 结论 重要 如果代码行中的运算符比较多,是否已经用括号清楚地确定表达式的操作顺序? 是否编写太复杂或者多用途的复合表达式? 重要 是否将复合表达式与“真正的数学表达式”混淆? 重要 是否用隐含错误的方式写if语句? 例如 (1)将布尔变量直接与TRUE、FALSE或者1、0进行比较。 (2)将浮点变量用“==”或“!=”与任何数字比较。 (3)将指针变量用“==”或“!=”与NULL比较。 如果循环体内存在逻辑判断,并且循环次数很大,是否已经将逻辑判断移到循环体的外面? 重要 Case语句的结尾是否忘了加break? 重要 是否忘记写switch的default分支? 重要 使用goto 语句时是否留下隐患? 例如跳过了某些对象的构造、变量的初始化、重要的计算等。 …… 常量 重要性 审查项 结论 是否使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串? 在C++ 程序中,是否用const常量取代宏常量? 重要 如果某一常量与其它常量密切相关,是否在定义中包含了这种关系? 是否误解了类中的const数据成员?因为const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。 …… 函数设计 重要性 审查项 结论 参数的书写是否完整?不要贪图省事只写参数的类型而省略参数名字。 参数命名、顺序是否合理? 参数的个数是否太多? 是否使用类型和数目不确定的参数? 是否省略了函数返回值的类型? 函数名字与返回值类型在语义上是否冲突?

评论