1.把不同功能的代码放在不同的文件中,并且把必要的函数放在对应的头文件中
建议把源文件里供其他软件模块使用的的函数放在头文件中,把仅供本模块使用的函数和定义放在源文件中,不必单独列出。
例如
有两个软件模块module1和module2,module1调用module2,module2调用调用了函数a(),b(),c(),此时,仅需要把module2的函数声明写在头文件就可以,而a(),b(),c()这三个函数仅写在module2同一个源文件就行,不必单独写在module2的头文件中。
2.对软件模块划分层次
软件模块之间按照功能,都会有一定的层次关系,最好按照软件模块的层次关系,为每个模块建立目录,形成一个有次序的软件目录结构,并且在每个目录下都建立一个Makefile文件,管理本模块的代码文件,这样看起来比较繁琐,目录很多,但好处是显而易见的,提高了软件模块之间的相互独立性,对开发调试和维护升级都很有好处。
例如,一个软件要提供一个支持第三方插件的功能,可以在代码目录里增加一个plugin目录,在plugin目录下为每一个插件建立目录,这样从目录上就可以看出代码的功能,不仅方便管理,也有利于调试。