函数设计一般规则和技巧

来源:互联网 发布:个人征信所用数据 编辑:程序博客网 时间:2024/05/23 02:04

编写函数时,应该先做一下几个步骤,你的函数才是好函数:
首先要做的是参数的检验,如果你传入的是指针的话,用assert来检验;
然后是考虑边界问题,这种情况在数据集合中经常出现,所以,我们得判断边界,这样能更好的了解程序走的过程,写循环的时候也方便;
最后才是函数要实现的功能。

函数设计一般规则和技巧:

1、尽量少使用全局变量,因为全局变量的生命周期太长会长时间占用空间,而且容易出错。

2、参数命名要恰当,注意命名的顺序。
例如:字符串拷贝函数,str_copy,如果有两个参数,那么可以命名为str1,str2,这样简单,但是有一个缺点,就是我们很难搞清楚把水拷贝给谁,所以这里提供一个更直观的命名;dest, src,这是目标 字符串和源 字符串,这样我们就知道,是要把,src拷给dest,当然我们还可以在src前面加上const,这样保证不会更改原字符串的内容。

3、如果参数是指针且仅作为输入参数引用,那么也应该加上const,以防止该指针在函数体中被修改。

4、在函数的入口处,应该对参数进行检查,特别是指针参数,尽量使用assert宏作为入口检查,而不是用if。注意assert被包含在

char *func(){char str[32];……return str;}//str是局部变量,在栈内存中,函数结束的时候会被释放,所以,返回str会导致错误。

6、作为一个初学者,函数的功能要单一,不要涉及多功能函数,这样会很容易导致出错。

7、函数的参数也尽量控制在4个以下,防止出错。

8、函数名和返回值类型在语义上没有冲突。
很典型的……例如:

char c;c=getchar();if(EOF==c){…}

按照getchar名字的意思,应将类变量定义为char,但是,事实上,getchar的返回值类型却是int。。。`

9、对指针和数组进行读写操作,必须要使用sizeof进行校验对象的大小。

1 0