C之函数设计原则(四十二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C之函数设计原则(四十二)相关的知识,希望对你有一定的参考价值。

        我们今天来讲下函数的设计原则。函数从意义上应该是一个独立的功能模块,函数名要在一定程度上反映函数的功能;函数参数名要能够体现参数的意义,尽量避免在函数中使用全局变量。

        A、当函数参数不应该在函数体内部被修改时,应加上 const 声明;如果参数是指针,且仅作输入参数,则一个加上 const 声明。例: void str_copy(char *str_dest, const char *str_src);

        B、不能省略返回值的类型,如果函数没有返回值,则应声明其为 void 类型;对参数进行有效性检查,对于指针参数的检查尤为重要;不要返回指向“栈内存”的指针,栈内存在函数体结束时被自动释放。

        C、函数体的规模要小,尽量控制在 80 行代码之内相同的输入对应相同的输出,避免函数带有“记忆”功能;避免函数有过多的参数,参数个数尽量控制在 4 个以内。

        D、有时候函数不需要返回值,但为了增加灵活性,如支持链式表达,可以附加返回值。

            char s[64];  int len = strlen(strcpy(s, "android"));

        E、函数名与返回值类型在语义上不可冲突

以上是关于C之函数设计原则(四十二)的主要内容,如果未能解决你的问题,请参考以下文章

第十二周 设计原则

六大设计原则(SOLID)

设计原则之DRY原则

设计原则之依赖倒置原则

设计模式之六大原则

前端用到的设计模式之开闭原则. 里氏代换原则