<<C语言深度剖析>>学习之七之函数

C中函数是C程序组成的重要部分.养成良好的编程习惯是很有必要的:方便自己阅读和他人阅读.


1.编码风格

    1-1.注释:

    函数的注释应该包括下面内容:

    1).函数名;

    2).日期;

    3).编码者;

    4).函数的功能描述;

    5).参数说明:包括输入参数和输出参数;

    6).函数的返回值;

    模板如下:

/*******************************************************
*FunctionName    :
*Date            :
*Description     :
*Param-Input     :
*Param-Output    :
*Return Code     :
******************************************************/
 

    1-2.空行隔开

    为了代码更具可观性.需要空行隔开.需要用到空行隔开的如下:

    1).函数与函数之间;

    2).函数体内变量定义与函数语句之间;

   

    1-3.tab缩进

    tab缩进可以使代码更有层次感.使用tab缩进的原则如下:

    1).递进关系的代码根据其子功能比母功能tab缩进;

    2).并列关系的子功能保持列对齐;


    1-4.换行

    当函数中参数较长时,需要进行适当的划分.如:

   

void function(float very_long_var1,
              float very_long_var2,
              float very_long_var3)

    1-5.当宏定义过长时,利用续行符'\'.如:

# #define CAR_SECTION __attribute__((used,section("car")))  
# #define CAR(__name,__owner,__price) \  
#     static car car##__name CAR_SECTION = {  \  
#         .name = MKSTR(__name),\  
#         .owner = MKSTR(__owner),\  
#         .price = __price,\  
#         }  

   

2.函数设计的原则:

    2-1.全局变量

    尽量少用全局变量.如果别的文件需要访问本文件的一个全局变量,本文件应该开辟一个API可以被别的文件调用,在此API中实现对本文件的目标全局变量的访问.

    2-2.参数命名

    参数命名要"顾名思义",而且遵守"左边是输出,右边是输出"的原则.如:

void str_copy(char *strSrc,char *strDst);
    2-3.对参数的合法性进行检测,尤其是指针参数.如下:

assert(NULL != p)
   2-4.对传入参数进行改变时,尤其是指针参数,一定要注意传入地址.

   2-5.尽量少用static局部变量.因为带有"记忆器"的函数本身就带有一定的隐患.

   2-6.尽量少用递归函数.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值