比如我们本次的demo有如下三个文件:
此时dynamic_array.h的内容如下:
我们创建了一些接口函数来操作DA对象,我们希望他人可以使用我们的这些接口来操作数据。并且,一般我们使用其它人写的代码时,一般也是优先找到相关头文件,然后调用头文件里提供的对外接口函数。 但是,从这个头文件中,我们不仅仅看到了一些对外接口,还可以看到结构体实体。于是乎,可能就有些人写出这样的代码: 命名有接口可以用,却偏偏有人喜欢直接操作数据,这是比较容易出错的做法。而且调用者推锅的理由很充足:你暴露数据给我,我为什么不可以直接操控你的数据,我就不喜欢用你提供的接口,咋的。。。 所以dynamic_array.h的提供者还是得背锅。
|