C语言学习笔记(2)

来源:互联网 发布:局域网行为监控软件 编辑:程序博客网 时间:2024/05/22 01:59
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////头文件////////////////////////////////////////////////////////////////////

///////////////////////////////Silence独家////////////////////////////////////////////////////////////

                                       函数

函数设计的精髓:编写整洁函数,同时把代码有效组织起来~

(1) 一个函数仅完成一件功能;

(2)重复代码应该尽可能提炼成函数;

(3)避免函数过长,新增函数不超过50行,非空非注释行;

(4)避免函数的代码块嵌套过深,新增函数的代码块嵌套不超过4层;

(5)可重入函数应避免使用共享变量;若需要使用,则应通过互斥手段(关中断,信号量)对其加以保护;

可重入函数是指可能被多个任务并发调用的函数,共享变量指的是全局变量和static变量

(6)对参数的合法性检查,由调用者负责还是由接口函数负责,应在项目组/模块内应统一规定。缺省由调用者负责

(7)对函数的错误返回码要全面处理

(8)设计高扇入,合理扇出的函数

扇出是指一个函数直接调用其他函数的数目,扇入指有多少上级函数调用它。扇出过大,表明函数过分负责,需要控制和协调过多的下级函数;而扇出太小,

表明函数的调用层次可能过多,这样不利于阅读和分析,通常是3~5

(9)废弃代码要及时清除;

///////////////////////////////////////////////////////////////////////建议////////////////////////////////////////////////////////////////////////////////////////////////

(1) 函数不变参数使用const;

(2)函数应避免使用全局变量,静态局部变量和I/O操作,不可避免的地方应集中使用;但当某函数的返回值为指针类型时,则必须是static的局部变量的地址

作为返回值,若为auto类,则返回为错针。

(3)检查函数所有非参数输入的有效性,如数据文件,公共变量等。

(4)函数的参数个数不超过5个,如果超过了建议拆分为不同函数

(5)除打印类函数外,不要使用可变长参函数

*****(6)在源文件范围内声明和定义的所有函数,除非外部可见,否则应增加static关键字

原创粉丝点击