使用结构体继承时,父结构体 必须是 子结构体 的第一个成员
高内聚:一个子系统(或者一个结构体),尽可能只完成一个功能,即最大限度地耦合。
低耦合:一个子系统(或者一个结构体)的实现,尽可能少地调用到另一个子系统 (或另一个结构体)的功能。
简单地说,就是尽可能让一个子系统(或一个结构体)的功能比较单一,减少对其他子系统(或其他结构体)的依赖。
增强内聚度、降低耦合度的方法:
1.基于接口编程,隐藏内部实现的细节
2.模块只对外暴露最小限度的接口,形成最低的依赖关系
3.只要对外接口不变,模块内部的修改不得影响其他模块
4.删除一个模块,应当只影响有依赖关系的其他模块,而不应该影响其他无关部分
5.接口函数在头文件中声明,内部函数不要放在头文件里声明
6.接口函数在C文件中实现,内部函数定义为static函数,内部变量定义为static
7.尽量少用全局变量,要使用全局变量的话不要直接访问,使用函数来访问
8.调用者只需要包含头文件
9.函数代码不要太长,功能太复杂的话拆分为多个子函数
原文见百问网,韦东山老师写的《ARM嵌入式系统中面向对象的模块编程方法》