今天在模块接口设计的时候,对如何设计一个好的接口,产生了疑惑。
遂请教了俩位师傅,得到了俩条建议,私以为十分有用!
1.接口中的参数最好不要用基础类型
如果不考虑维护的话,我们提供一个接口,当然从眼前的角度出发,使用对应的基础类型是最好的。
例如:
int add(int a,int b);
但是模块接口作为提供为外部调用的角色,在复杂的业务场景中一定面临着诸多的修改,但是不同的使用方对修改的需求是不一样的,所以写死基础类型的接口就显得不太合适。
例如这里的add()函数,之后想实现不同个数,不同类型的加法。
就需要修改或者重载。
建议写成自定义数据类型[复合数据类型]:
typedef struct MYDATA