调用简单

  • SDK集成成本
  • 调用简单
  • 功能可定制
  • 功能可扩展
  • 便于调试

API接口设计

  • 接口命名、参数名称规范

    • 命名(方法名称、参数)明确无歧义,宁可名称长,不可出现词不达意,例如:name与userName,
    • 通用名称要统一,例如:userId与userID与mUserID;
    • 能不用缩写尽量不用缩写
  • 一个接口尽量只做一件事

    • 条理清晰
    • 调用者可能后面会有不同组合使用
  • 参数设计

    • 一些固定的参数可以通过config配置参数在SDK初始化的时候设置
    • 接口参数尽量少
      • 参数过多,可合并成一个对象
  • 能同步尽量同步调用,返回结果能不用回调就别用回调

  • 多线程能自己处理就自己处理

性能高效

  • 内存占用,内存抖动
  • 多线程控制,避免主线程阻塞
  • 电量消耗

回调设计

  • 减少全局回调;必须全局回调的,分模块回调
  • 回调中接口尽可能的少
  • 异常情况回调
    • 错误回调采用errorCode+errorMsg组合

日志设计

  • 核心处理log
  • log日志可配置,可控制打印log级别

稳定性,自主处理异常

  • 先去验证参数正确性

代码注释要规范和清楚

  • 接口注释要特别完善
  • 注释

帮助文档,参考github高Star项目

  • 如何接入
  • 如何使用
  • 版本更新记录

注意

  • TODO写法:TODO 负责人 信息
  • 向后兼容
  • 资源文件命名
    • 用统一前缀,并且可以区分到模块
    • 这样即有利于不同模块的资源区分,又可以防止资源冲突。

参考资料