C/C++函数编写小结

1、只在本文件访问用static修饰

2、函数命名

动词开头,说明功能。

下划线分隔

3、参数

(1)命名,用名词

(2)数量7个以内,多则使用结构体

(3)函数体内判断合法性:范围、负值、nullptr空指针

(4)结构体、联合体union,等大体积参数用指针或引用

(5)不变的值用const,提高健壮性

4、局部变量

(1)定义时最好初始化为无效值:-1,0,nullptr

(2)不可将其地址返回到函数外,出了函数会自动释放

5、特别注意申请的资源

(1)堆内存、打开的文件、管道、共享内存、信号量、锁、消息队列、套接字等

(2)若函数内部未释放,在外部一定要有完整的释放逻辑,避免资源泄漏

6、逻辑结构

  • 正常业务逻辑,最后return成功
  • goto只能往后跳,最好不用
  • for嵌套不超过3层
  • 注意while(1)/for(;;)出现死循环,斟酌跳出条件
  • while(1)/for(;;)中避免空耗CPU,可加usleep

7、注释

(1)函数开始

/**

 * @brief 函数功能简要说明

 * @param 1 第一个参数说明

 * @param 2 第二个参数说明

 * @return 返回结果说明

 */

(2)特殊功能的变量,需要注释

(3)复杂的逻辑结构,需要注释

(4)复杂的算法,需要注释

(5)调用的特殊函数,需要注释

(6)单行用//,多行用/**/

8、代码布局

  • 用Tab扩展为4个space空格
  • 函数内的代码,以4space开始
  • if、while、for、switch等的代码块的内部代码以4space开始

9、空行分隔代码

(1)定义几个局部变量后面,用空行

(2)判断参数合法性后面,用空行

(3)while、for等逻辑块,前后用空行

(4)函数末尾的return前面,用空行

10、return

(1)最好返回执行成功与失败结果,由参数输出处理的结果

(2)注意锁,是否需要先unlock,避免死锁

11、函数需分解成多个子函数情况

(1)代码行数超过200行,考虑是否需提取一些逻辑作为子函数

(2)函数做了超过一件比较整体的事,每一个整体的事应为一个函数

欢迎转载请注明出处:海漩涡

http://blog.csdn.net/tanhuifang520

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值