十项经典的技巧构建完美SDK

原创 2016年06月01日 17:16:22

对开发者而言,了解框架知识的重要性已经高于学习算法本身。本文章将介绍十项技巧,希望能够帮助各位打造出完美的SDK。

过去十年以来,SDK的使用已经成为开发生命周期中的重要组成部分。事实上,其在产品中的应用与集成已经非常普遍。甚至对开发者而言,了解框架知识的重要性已经高于学习算法本身。

而在今天的文章中,我们将了解十项技巧,希望它们能帮助各位打造出完美的SDK:

  1. 了解现有成果
    在动手之前,我们首先需要了解竞争对手或者其它企业是否已经完成了各位预期的SDK方案。这类方案可以作为很好的参考点,大家不妨从中选取精华、摒弃糟粕。

  2. 简单性
    简单的代码能够确保成果的易用性。具体来讲,代码的交互方式越少越好,例如只提供一个接口类; 减少方法签名,例如只保留少数输入参数等等。除了初始化之外,一且SDK的使用方式都应尽可能保持简单。要实现这一目标,大家可以提供默认配置及默认实现类,同时允许高级用户对其加以修改。隐藏一切用户不需要使用的类与方法,即只在用户需要时才开放类/方法,否则仅在本地或私有范围内使用。部分IDE能够帮助大家自动实现代码检测与冗余部分清除。说明文档:让文档尽可能易于理解,即提供充分的解释表述但又要注意别啰里啰嗦。另外,内嵌代码示例也是很好的提示方式。

  3. 保证易于上手
    即保证用户能够在5分钟以内学会使用代码。这一点非常重要,特别是考虑到有时候用户会评估我们的产品——如果无法轻松上手,他们很可能直接选择放弃。

  4. 保持简短
    这部分要求对说明文档特别重要,但有时也会体现在用户与SDK代码的交互流程当中。要在说明文档中实现简短效果,大家应当提供代码示例、使用自解释方法名称并提供默认配置。

  5. 整合
    我们必须记住,用户的开发环境往往多种多样。举例来说,如果我们在编写一套Android库,则需要充分考虑要素整合:如果用户使用Android Studio与gradle,则须提供aar artifact并将其发布至远程库; 如果用户使用Eclipse,则需要提供变更AndroidManifest.xml所必需的jar文件以及SDK独立eclipse项目。当然,这部分工作无法一蹴而就,大家可以在项目推进当中听取意见并逐步纳入更多整合元素。

  6. 示例项目
    在GitHub当中创建基础项目,用于模拟客户使用SDK的过程。通过这种方式,我们能够了解客户如何利用产品满足自身需求,又会提出哪些产品整合要求。如果大家打算展示某些高级用法,则应建立另一独立项目。一般来讲,用户会将其作为自己的主要说明文档来源,因此请提供内嵌注释并尽可能以自解释方式编写代码。

  7. 概述
    在说明文档或者README当中提供关于解决方案的总体概述。在这里,我通常会提供一个示例用例以解释SDK的常规使用情况。如果可以,不妨提供简单的图表或者图例,从而帮助那些没时间逐行阅读文本的用户快速掌握其使用方法。

  8. 快速开始
    使用SDK领域中被广泛接受的惯例性方法。我们应尽可能使用常规的负载、构建模式及其它设计思路,从而保证默认配置能够有效帮助用户快速开始项目使用。

  9. 默认配置
    良好的默认配置能够有效提升代码简单性并降低调整难度。我们提供的默认机制(无论是配置方案还是实现方式)都应适用于大部分SDK目标用户。大家可以提供多种重载方法,其中最简单的签名会默认调用更为复杂的方法签名。

  10. 发布
    提供不可编辑的脱机格式——PDF。我们能够轻松创建这类说明资料并将其保存在Dropbox上以备随时更新。

希望这些技巧能够帮助大家构建起自己的完美SDK!

android程序的完美退出

import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app....
  • JKINGCL
  • JKINGCL
  • 2013年12月19日 15:30
  • 1850

[经典面试题]完美洗牌算法

题目有个长度为2n的数组{a1,a2,a3,…,an,b1,b2,b3,…,bn},希望排序后{a1,b1,a2,b2,….,an,bn},请考虑有无时间复杂度o(n),空间复杂度0(1)的解法。来源...
  • SunnyYoona
  • SunnyYoona
  • 2015年02月13日 16:08
  • 7272

delphi完美经典--第十八章

第18章数据感知组件 一、TDBText组件 用来以只读、一次一条记录的方式,显示DataSet中的某一字段值。因同样继承自TCustomLabel,TDBText组件除了数据感知功能外,与标准组...
  • mwj_88
  • mwj_88
  • 2013年06月24日 19:43
  • 1819

CSS的一些经典技巧

CSS字体属性简写规则 一般用CSS设定字体属性是这样做的: 1 font-weight: bold; 2 font-style: italic; ...
  • tyler1108
  • tyler1108
  • 2013年08月13日 13:14
  • 815

人脸识别的主要方法---小伙子拿去撸吧

人脸识别技术的主要研究方法 目前在国内和国外研究人脸识别的方法有很多,常用的方法有:基于几何特征的人脸识别方法、基于代数特征的人脸识别方法、基于连接机制的人脸识别方法以及基于三维数据的人脸识别方法。...
  • colorreco
  • colorreco
  • 2016年09月13日 10:21
  • 2654

创建完美SDK的10个技巧

本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK。文章系国内 ITOM 管理平台 OneAPM 编译呈现。以下为正文。...
  • wangpeng198688
  • wangpeng198688
  • 2016年05月17日 16:45
  • 291

完全二叉树的建立(2)

加油!!!#include#include#includeusing namespace std;typedef struct No{ char date; No* left; No* right;}...
  • olo721727175
  • olo721727175
  • 2011年03月03日 19:49
  • 2580

070_《Delphi7程序设计技巧与实例》

◆清华大学教师力作,包含作者多年编译器研究与程序设计教学经验 ◆深入Object Pascal语言核心,澄清许多容易让人迷惑的概念 ◆披露Delphi/Kylix实现的技术内幕,详细阐释深入编...
  • shuaihj
  • shuaihj
  • 2010年12月12日 17:31
  • 4504

如何创建自己的第三方SDK(环境搭建)

现在Android的阵营当中,很多第三方的SDK,广告SDK,ShareSDK等等,这些都是第三方的SDK。 当然还有我们一直在用的第三方扩展包,或是框架,这属于是第三方的SDK。 什么是SD...
  • u014744764
  • u014744764
  • 2014年11月17日 14:21
  • 1595

三人斗地主技巧

【精品】 宝典之一:心态——玩牌的心态很重要。千万不要和你的牌友争吵,即便他出错牌,你切不可张口骂人。要时刻记住:玩玩而已! 宝典之二:算牌——新手大都没有算牌的习惯,我也一样。往往就会在这里输给...
  • big_ant
  • big_ant
  • 2012年07月20日 15:37
  • 3259
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十项经典的技巧构建完美SDK
举报原因:
原因补充:

(最多只允许输入30个字)