SDK是Software Development Kit的缩写,译为“软件开发工具包”,通常是为辅助开发某类软件而编写的特定软件包,框架集合等,SDK一般包含相关文档,范例和工具。
SDK可以分为系统SDK和应用SDK.所谓的系统SDK是为特定的软件包,软件框架,硬件平台,操作系统等应用时所使用的开发工具集合.而应用SDK则是基于系统SDK开发的独立于具体业务而具有特定功能的集合.
1.设计原则
优秀设计
-
SDK 必须要遵从原生、简短、执行迅速、代码干净、易读、可测试的原则。
-
一个接口尽量只做一件事
-
SDK所包含的接口数量越少越好,接口参数越少越好,调用流程越少越好 向后兼容。
-
SDK产品往往是迭代的,向后兼容非常重要。
兼容性
-
一般出现接口兼容性的问题主要是由于最初需求考虑不完善,导致后面进行方案优化时引起接口的变更,使之前的接口成为历史的老大难问题,最终造成删除难度大。
-
在确定开发方案时,就需要考虑到一部分接入方使用了该功能,需要保证该功能正常读取。一部分接入方没有使用到该功能,要确保无异常出现。一般这种兼容性问题会决定开发方案的技术实现。
参数设计
-
一些固定的参数可以通过config配置参数在SDK初始化的时候设置
-
接口参数尽量少
-
参数过多,可合并成一个对象
-
能同步尽量同步调用,返回结果能不用回调就别用回调
-
多线程能自己处理就自己处理
性能高效
- 良好的性能带来良好的用户体验,性能优化也是Android 开发者基本素质。
- 内存占用,内存抖动
- 多线程控制,
- 避免主线程阻塞
- 电量消耗
回调设计
- 减少全局回调;必须全局回调的,
- 分模块回调 回调中接口尽可能的少
- 异常情况回调
- 错误回调采用errorCode+errorMsg组合
日志设计
- 核心处理log log日志可配置,
- 可控制打印log级别
注释
- 代码注释要规范和清楚
- 接口注释要特别完善
- 注释形式统一
- 注释内容准确简洁
@author 对类的说明 标明开发该类模块的作者
@version 对类的说明 标明该类模块的版本
@see 对类、属性、方法的说明 参考转向,也就是相关主题
@param 对方法的说明 对方法中某参数的说明
@return 对方法的说明 对方法返回值的说明
@exception 对方法的说明 对方法可能抛出的异常进行说明
@link 在注释中引用任意一个类、字段或者方法
输出
- androidstudio平台相关包:demo工程+aar仓库
- 可直接安装运行的demo.apk包
- 示例代码,维护一份准确的示例代码是一劳永逸的事情,可避免很多不必要的打扰。
2.代码规范
代码规范可以参考的规范很多,如阿里巴巴java开发规范、androi