1. 函数声明的设计原则
2. 函数体(函数定义)的设计原则:
1. 在函数体的“入口处”对参数的有效性进行检查
bool setAge(int age)
{
if(age<0 || age>130) //对参数进行有效性检查,并作相应处理
{
cout<<"年龄不能为负数,重新输入"<<endl;
return false;
}
/* ... */
return true;
}
还有一种方法:断言。如果无须处理无效的参数,还可以使用断言(assert)来对参数的有效性进行判断,防止函数被错误的调用。 如果断言条件为true则继续执行,如果为false则系统会弹出调试错误提示框提醒我们参数不合法,函数被错误地调用了。
# include <assert.h> //添加断言头文件
float divid(int a, int b)
{
assert(0 != b); //使用断言判断除数是否为0,进行防错处理以实现对参数的有效性检查
/*断言条件为true继续执行,为false则系统会弹出调试错误提示框,提醒我们函数参数不合法,函数被错误地调用了 */
return (float)a / b;
}
2. 谨慎处理函数返回值(不可返回一个指向函数体内不声明的而局部对象的“指针”或者“引用”)
3. 函数功能要单一且不宜太长(100行以内)