6 函数与过程

6.1 函数的功能与规模设计

函数应当短而精美,而且只做一件事。不要设计多用途面面俱到的函数,多功能集于一身的函数,很可能使函数的理解、测试、维护等变得困难。

6.2 函数的返回值

(1)对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置。(单入口单出口)。

要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回。

例如编码定义如下:

#define CM_POINT_IS_NULL CMMAKEHR(0X200)

:

:

参考函数实现如下:

LONG 函数名(参数,……)

{

LONG lResult; //保持错误号

lResult=CM_OK;

//如果参数有错误则返回错误号

if(参数==NULL)

{

lResult=CM_POINT_IS_NULL;

goto END;

}

……

END:

return lResult;

}

调用者对所调用函数的错误返回码要仔细、全面地处理

6.3 变量的使用

当你确实需要时才用全局变量,函数间应尽可能使用参数、返回值传递消息。

6.4 函数参数

在同一项目组应明确规定对接口函数参数的合法性检查

(1)防止将函数的参数作为工作变量。将函数的参数作为工作变量,有可能错误地改变参数内容,所以很危险。对必须改变的参数,最好先用局部变量代之,最后再将该局部变量的内容赋给该参数。

(2)避免设计多参数函数,不使用的参数从接口中去掉,目的减少函数间接口的复杂度。

09-05 22:04