说明:封装函数是为了获得单个功能小项。
1、带参函数:比如某个带参数的aa(12,34);aa示例函数void aa(int a,int b){...},可能会在很多地方出现,形参也可能改变,那么就需要将其封装一个功能函数,作为一个功能项,函数命名为bb,示例为void bb(void){aa(12,34);}
2、单独代码行:比如某几行代码方法出现多次,u8aa = 1;u16bb = 2;u32cc = 3;,那么将其封装成一个功能函数,作为一个功能项,这样到时候改动起来方便,有时候甚至一句话,调用多次的也尽量封装成一个功能,所谓功能小项。
3、第三方库函数调用:在某个SDK中比如蓝牙广播xxx_ble_start和蓝牙停止广播xxx_ble_stop,被封装在库里,在应用中多处引用,虽然也是一句的事,但是是官方函数库,可能需要补充部分逻辑,也未来便于修改的,封装函数,多处调用更要封装为函数,好处是灵活,换家sdk照样能用。
4、局部全局变量:比如int aa = 0,封装成void Setaa(int I32V){aa = I32V}和int Getaa(void){return aa},变量封装成函数后,就变成功能了,在需要打印值时加打印方便,另外当需要变量不起作用时,返回1或者0也方便。
总结:封装函数不是目的,目的是为了将一个一个功能独立出来,以功能为单位,而不是以代码行为单位,这个维护和开发都相当容易很多。抓一个重复的点,和抓一个独立的面,维护起来不是一个数量级的。比如说汽车组装是组装一个发动机、一套沙发等,而不是组装一个一个发动机内部的一颗零件,一个沙发上的一块布片,甚至发动机也不是能开发的,可能是买的。函数是将一个相对完整的功能展示出来处理。