/头文件
///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关键字