功能模块化
怎样编写模块化程序?这是一个无规范标准的。每个软件工程师都力争模块化,而每个工程师写出来的代码也个不相同,我个人喜欢用模板,精益求精的做好每一个细节。接下来看下模块化的内容,功能模块化一般分为.C和.H文件来实现功能模块。.C文件的程序是实现该功能的母体,.H文件是定义模块与外部沟通的桥梁。
.H文件内部结构
我们先来看下.H里面有哪些内容,可将其分块为:
1)防重复包含
2)调用外部.h文件
3)定义宏
4)定义结构体
5)定义全局变量
6)定义函数
注意:在.H文件定义或者声明的宏、结构体、变量、函数。内部和外部皆可以使用。
模块化.H文件模板
防重复包含。如下定义:使用#ifndef #define开始 #endif结束,这个的意思是我只调用一次该文件,若有第二、三、四... 次调用,则不会再进来。具有防重复包含的作用
调用外部.h文件。一般模块化规划得好,是很少调用外部.H文件的,当然有时也会用用到调用外部的文件。
定义宏。这里定义的宏,需求提供给外部使用的,才在这里定义,若内部使用,则在.C文件内部定义。
定义结构体。这里定义的结构体,需求提供给外部使用的,才在这里定义,若内部使用,则在.C文件内部定义。
定义变量。这里定义全局变量,需求提供给外部使用的,才在这里定义,若内部使用,则在.C文件内部定义。定义全局变量,一般需要加extern;
定义函数。这里定义函数,需求提供给外部使用的,才在这里定义,若内部使用,则在.C文件内部定义。定义函数,一般需要加extern,不加也可以,为了更统一还是加extern; 若是加static 修饰的函数,不要在边定义。
总结:.H文件的结构,不要放过多内容在.H文件里面,.H文件是提供给其他模块使用的窗口,若是内部使用的,放在.C文件里面。而整个.H结构把它的组成一一排列出来,需要增加时找到相应位置去增加。这样形成一个通用的模板,等做下一个模块化时,直接可以使用该模板。
.C文件详见下一节,欢迎留言点评!
领取专属 10元无门槛券
私享最新 技术干货