c语言~函数篇

函数设计原则:


1.设计函数时应该满足单一功能原则,最可怕的是函数名和功能不一致;
2.函数的规模体要小,尽量控制在80行以内;
3.相同的输入应当产生相同的输出,避免函数带有"记忆"功能(即运行结果不可预料,或者有各种情况);
4.参数避免过多,尽量控制在4个及以内;
5.尽量不要使用类型数目不确定的参数;
6.有时候不需要返回值,但是为了增加灵活性如支持链式表达,可以附加返回值;eg:strcpy
/* Copy SRC to DEST.  */
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
7.函数名和返回值在语义上不可冲突,试想getchar是自己写的函数,别人维护时会作何感想;
int getchar (void);
8.不仅要检查输入参数的有效性,还要检查通过其它途径:全局变量,文件句柄进行函数体的变量的有效性;
总的来说,自己写的函数不管别人怎么调,都不会crash,有些时候,我们掉自己写的函数前有些预制条件,如果外部调用没有预制条件,那么你的函数是否还会一如既往的健壮呢。
9.return 语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结
束时被自动销毁。例如:
char * Func(void)
{
    char str[30];
    …
    return str;
}
10.const &就不用多说了,const和函数配合使用有三种情况,自己都应该消化;
const QString func();
QString func() const;
QString func(const QString str);
11.在函数体的“入口处”,对参数的有效性进行检查。尤其是指针参数,尽
量使用[assert]宏做入口校验,而不使用if语句校验;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值