一、学会使用结构体
对于你的代码,别人只需要可以简单的调用,不需要知道太多关于函数的问题,因此只需要提供简单的一两个接口。那么多变量,一两个接口怎么可能够,因此就出现了结构体。在函数初始化的时候,人们只关心怎么初始化结构体;功能实现,人们只关心需要传入什么参数,可以传出什么参数;最后在来一个结构体,就相应的内存进行维护,以免内存泄露!
(还记得么,GMM_GRAY;GMM_RGB)
二、学会使用库函数进行封装
对于你那些庞大的代码,人们不关心你是怎么实现,只关心你的庞大的代码可以做什么。因此你需要把他封装为一些库函数。
库函数包含:静态库,动态库(链接时加载和运行时加载两种方式)。
静态库:lib文件和头文件;
动态库:dll文件和lib文件(函数导出库),有时需要头文件;
此时,你的代码,别人不一定会用,此时需要配一个简单的demo,告诉别人怎么使用。
三、学会Release版本
为了看你的函数的功能,人们不会很傻的去搭建一个环境,然后在跑跑你的代码,那不累死了。因此你需要提供程序的Release版本。先让人们看看你的代码可以做什么,然后我们才对你的函数感兴趣。
四、真正理解封装
封装,也就是接口,也就是你只需要提供你程序的接口,尤其在头文件中体现,要最小化的依赖别人的东西。想依赖别人的东西,可以,在cpp函数中。头文件中,你只需要提供导出函数的声明;对于不需要导出的函数的声明及其实现,应该在cpp文件中实现;有时候你一定得依赖别人的头文件(变量的定义是在别人的头文件中的),你可以定义自己的结构体,然后传参。