开发静态库该注意些啥?

最近在写移动监控SDK,发现除了技术实现还有好多细节需要注意的,这里做下总结分享。

坑一:项目开始前一定要取个前缀,减少冲突的可能

需要加前缀的地方有哪些呢?

1。NSUserDefaults里面的所有字段,如果不加很容易和app开发者起的名字一样,这样就会相互覆盖,至于用谁的就看谁后写入了。

2.数据库命名,这个就不用多说了,一样的问题。至于里面的表就看自己的习惯了,加不加前缀都ok

3.类名 这个编程习惯上最好还是加上,不加虽然问题不大。

4.资源名  按习惯觉的还是加个前缀,具体会不会有问题我也还没用到,等用到了再来补充

5.static 定义的静态方法、静态变量、枚举 这些必须要加上前缀,不管是良好的编程习惯还是减少冲突都需要的 

6.#define 预编译名这个也是必须加上前缀  要不app开发者如果也定义一个和你一样的预编译名也是最后运行就用谁的咯

坑二 :第三方组件的使用

像网络请求、数据库这些基本很常用,大部分静态库都会用到,自己封装的话时间上又不允许,前期可以先用第三方的如:AFNetworking、FMDB 提取下常用的类也没几个完全可以直接用。于是我就很开心的导入进去,哎。。不错啊。。。可以开心的写逻辑咯。但是等开发完集成到项目就会发现有问题,一个问题,一堆警告。起初以为是文件名不能一样,于是开始改文件名类名。都改好了发现还是不行。然后干脆直接替换前缀 如“AF” “FM”全部替换掉,果然ok了。其实他们最大的问题不是类名,是C语言的static关键字定义的静态方法、静态变量和枚举。总之替换掉前缀,把他们盗版过来就可以开心的使用了。

你可能感兴趣的:(开发静态库该注意些啥?)