八、函数风格
每个函数都应该设计得尽可能简单,简单的函数才容易维护。应遵循以下原则:
1、函数注释
比较重要的函数定义上面必须加注释,说此函数的功能、参数、返回值、错误码等。
2、函数名
执行函数就是执行一个动作,函数名最好以动宾结构短语组成,单词间用’-‘隔开。函数名一定要准确概括执行动作的意义,不要太长但要让人一目了然执行后的意义。
例如:
int get_current_data( param list )
{
your action;
return int;
}
3、函数体
根据vim跳转时对于花括号有特殊用法,所以对齐方式采取如下方式:
bool insert_index( param list )
{
your action;
return TRUE;
}
实现一个函数只是为了做好一件事情,不要把函数设计成用途广泛、面面俱到的,这样的函数肯定会超长,而且往往不可重用,维护困难。因此:
函数内部的缩进层次不宜过多,一般以少于4层为宜。
函数不要写得太长,建议在24行的标准终端上不超过两屏。
太长会造成阅读困难,如果一个函数超过两屏就应该考虑分割函数了。如果一个函数在概念上是简单的,只是长度很长,这倒没关系。例如函数由一个大的switch组成,其中有非常多的case,这是可以的,因为各个case之间互不影响,整个函数的复杂度只等于其中一个case的复杂度,这种情况很常见。
5、函数内部变量
另一种度量函数复杂度的办法是看有多少个局部变量,5到10个局部变量就已经很多了,局部变量再多就很难维护了,应该考虑分割函数。
1、 函数参数与返回值
空参数必须用void。
intact_fun( void )
{
int ret;
return ret;
}
函数尽可能用返回值,且能通过返回值判断出执行的结果。
return 前加1空行。