函数设计的原则

  • 函数从意义上应该是一个独立的功能模块
  • 函数名要在一定程度上反映函数的功能
  • 函数参数名要能够体现参数的意义
  • 尽量避免在函数中使用全局变量
  • 当函数参数不应该在函数体内部被修改时,应该加上const声明
  • 如果参数是指针,且仅当做输入参数时,则应该加上const声明
         void str_copy(char*str_dest,const char*str_src);
  • 不能省略返回值的类型,如果函数没有返回值,那么应该声明void类型
  • 对参数进行有效性检查,对于指针参数的检查尤为重要
  • 不要返回指向“栈内存”的指针,栈内存在函数体结束时被自动释放
  • 函数体的规模要小,尽量要控制在80行代码之内
  • 相同的输入对应相同的输入,避免函数带有记忆功能
  • 避免函数有过多的参数,参数个数尽量控制在4个以内 
  • 有时候函数不需要返回值,但为了增加灵活性,如支持链式表达,可以附加返回值
    char s[64];
    int len = strlen(strcpy(s,"android"));
  • 函数名与返回值类型在语义上不可以冲突
posted @ 2020-01-10 19:41  认真做个普通人  阅读(402)  评论(0编辑  收藏  举报