创建完美SDK的10个技巧

【编者按】本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK。文章系国内 ITOM 管理平台 OneAPM 编译呈现。以下为正文。

本文起源于笔者朋友的一次问询。他认为,关于如何写好一个简单易用的SDK,没有足够的参考文件。

在过去的十年里,SDK的使用在开发生命周期中已经成为了重要的一部分。事实上,它的使用和在产品中的集成已经如此常见,可以说,相比于深度学习算法来自行实施,开发者们更需要学习大量框架以融会贯通。

本文主要面向想要学习书写最佳SDK,并为之提供参考文档的读者。SDK的出发点是它的参考文档应当是重点明确且清晰的。如果你觉得文档有多个重点,请考虑拆分为多个文档。

以下是笔者希望能帮助你更好地构建SDK并书写其参考文档的清单:

1. 了解墙外的世界

试着去关注你的竞争对手或者与你相似领域的公司都做了什么。这可能会给你一些参考的角度。采纳你喜欢的地方,改善你不喜欢的地方。

2. 简洁

代码简洁——简洁的代码意味着你的客户用起来得心应手。这可能包括尽可能减少与代码交互的方式,比如只公开一个接口类;或是简短的方法签名,比如少量的输入参数,等等。

除了初始化阶段(只发生一次且可能要求进行配置),请让SDK方法使用起来尽可能简单。

同样地,请尽量减少方法签名中的参数。

你可以通过提供默认配置以及允许高级用户进行覆盖的默认实现类来达到这一目的。

隐藏用户不需要使用的类和方法,比如,只将用户必须使用的类/方法设定为公有的,否则就将它们的使用范围设定为局部或者私有。一个 IDEs 提供了代码检查与清除功能,可以帮你自动实现这一点。

参考文档简洁——让你的文档尽可能简单易懂。这意味着有时候你得多写注释,有时候又得尽量少写。内联样本代码通常很有帮助,因为大多数人都是通过例子来学习的。

3. 提供简单的开始步骤

这是指一个人可以在五分钟内上手使用你的代码。这一点非常重要,因为客户往往希望尽可能不费力地进行集成。除此之外,有时候客户想要评估你的产品,但如果无法进行简单的测试,他们就很可能选择跳过你的产品。

4. 短小精悍

保持简短主要是文档的责任,但是同样与用户和SDK代码的交互方式有关;为了保持文档的简短,可以提供代码样例、一目了然的方法名或使用默认数据来实现。

5. 集成

请谨记客户开发环境的多样性。

比如说,如果你在写一个安卓库,它的集成方式在客户使用Android Studio加gradle 框架和使用Eclipse集成开发环境时就非常不同。前者需要aar工件并发布到远程存储库中,而后者需要你提供jar文件,以及关于如何为SDK更改AndroidManifext.xml文件和独立eclipse项目的指导。

这可能会影响你的构建机制及其工件。然而,不要试图取悦所有客户,请先满足你的第一位客户,或者预期中的大多数客户的需求。

6. 项目示例

在GitHub上创建一个最基本的项目,模拟使用SDK包的用户。

这可以向客户展示你的产品如何满足他们的需求,以及如何集成你的产品。如果你想展示高级用法,那就在另一个项目里进行展示。通常,客户会将项目示例作为主要的参考文档,因此,请提供行内评论,并尽量用一目了然的方式书写代码。

7. 概述

在参考文档的开头,或是GitHub项目的README.md文件中,请用直白的语言对你的解决方案进行概述。在此部分,笔者通常会提供一个使用样例来解释SDK的典型用法。如果有可能,请提供一个简单的表格或是图表,这样一来,不喜欢阅读操作指南的用户也可以快速了解该SDK的优势。

8. 初始化

使用在SDK域内可接受的惯例。

这些惯例可能是可重载的构造函数,某种构建模式等。初始化应当巧妙地使用默认值来简化流程。

9. 默认值

默认值对于保持代码的简洁性和减少配置过程(见简洁性部分)是非常重要的。你所提供的默认值(不管是在配置还是实施过程)应该代表在你眼中大多数SDK用户会进行的操作。

你可以提供几个方法重载,使最简单的签名都可以用默认值调用更高级的方法。

10. 发布

  • 离线使用不可编辑模式——PDF。优势是文档创建简单,可以本地存储在Dropbox中。并且对于每次发布,版本可以自动更新。
  • 在线——你的企业网站。这是更推荐的方式。然而,在更新时可能会导致一些额外的IT开销。

希望这些指南对你有所帮助。也欢迎进行反馈。

本文转自 OneAPM 官方博客

原文地址:http://blog.mobitech.io/2016/02/sdk-writing-guidelines.html。

时间: 2024-10-28 20:46:38

创建完美SDK的10个技巧的相关文章

ASP.NET应用程序设计的10大技巧

asp.net|程序|技巧|设计 在本篇文章中,我们将讨论编程人员在使用ASP.NET开发应用程序时需要注意的10个技巧,这些技巧涉及从缺省的控件.表单名的改变到StringBuilder类的使用,有助于编程人员能够尽快地适应.NET环境. 1.在使用Visual Studio .NET时,除直接或非引用的对象外,不要使用缺省的名字 .NET带来的好处之一是所有的源代码和配置文件都是纯文本文件,能够使用Notepad或WordPad等任意的文本编辑器进行编辑.如果不愿意,我们并非一定要使用Vis

最小化用户差评新手机应用的10个技巧

文章描述:总结Android手机应用UI设计的10个要点. 作者:Guenther Beyer 最近,许多开发者进驻手机领域,小团队也能够构想出优秀和独特的想法,使用业余时间便足够来开发应用. 每个开发循环迟早到会走到应用几近完成这个点.接下来要做什么呢?你可曾听说过"用户体验"这个词?以下这10个技巧能够使新手机应用在发布前提升质量,最大化发掘该应用的潜力,从而最小化用户差评和低下载量这种不良结果. 1.首次开启体验 优秀的网站和手机应用有诸多相似之处.这两者都能够迅速吸引用户或访问

使用Java与XSLT的10条技巧

技巧 在我的新书<Java and XSLT>中介绍了Java与XSLT的技术组合.这篇文章从书中选出了我认为非常重要的10条技巧.但实际上这有限的10条只是粗略的描述了什么是可能的.其中大多数都集中在Java与XSLT的组合上,而不是在XSLT(可扩展样式表转换)技术规范.而更详细的信息,在文章结尾处指出了一些有价值的资源. 基本的XSL转换是非常简单的:一个或多个包含着指令的XSLT样式表,这些指令定义了如何把XML数据转换成其他格式.XSLT处理器完成实际的工作:Sun微系统的Java

ASP.NET应用程序设计的10大技巧(一)

  在本篇文章中,我们将讨论编程人员在使用ASP.NET开发应用程序时需要注意的10个技巧,这些技巧涉及从缺省的控件.表单名的改变到StringBuilder类的使用,有助于编程人员能够尽快地适应.NET环境. 1.在使用Visual Studio .NET时,除直接或非引用的对象外,不要使用缺省的名字 .NET带来的好处之一是所有的源代码和配置文件都是纯文本文件,能够使用Notepad或WordPad等任意的文本编辑器进行编辑.如果不愿意,我们并非一定要使用Visual Studio .NET

Windows使用者应该了解的10个技巧

  在过去几年中,Windows系统并未发生重大的改变(至少在桌面效果上),但每一个新版本的更新,都带来了一些细微的调整和提升.当然,Windows是一个庞大而复杂的桌面系统,所以如果你想更好地使用Windows系统,不妨来了解一下本文提到的10个技巧和建议. 1. 升级到Windows 8(8.1)系统 好吧,这肯定是一个最有争议性的建议.可以肯定的是,Windows 8系统在触摸屏设备上的使用效果肯定是要比之前版本更好的,如果你拥有一款触摸屏笔记本或是平板电脑,一定可以感受到.当然,"开始&

成功部署云计算的关键10个技巧

更多深度文章,请关注:https://yq.aliyun.com/cloud 对于一些组织来说,云计算的使用已经开始,而无论他们知道与否,希望成功部署云计算,制定一个计划是有所帮助的. Consultancy Cloud TechnologyPartners(CTP)公司是帮助客户采用公共IaaS云计算资源的众多公司之一,该公司分享了成功部署云计算的关键10个技巧和提示. 1.达成一致 在组织决定使用IaaS云计算服务之后,需要将企业的重要利益相关者召集在一起召开会议,让每个人都在此有所有帮助.

来自一线企业的使用公共云服务的10大技巧

本文是通用电气.联邦快递.美国银行.摩根大通和摩根士丹利等一线企业使用云计算的方式一览. 通用电气.花旗集团.联邦快递.美国银行.Intuit公司.Gap.Kaiser Permanente.摩根士丹利和摩根大通这些大企业都从公共云服务的使用中学到了怎样的经验教训? 在过去六个月中,来自上述这些大型企业的一组代表与开放网络用户集团(ONUG)合作,开发了一份白皮书,探索当前的企业组织在使用混合云服务方面的挑战.ONUG的混合云工作组(HCWG)不仅总结了他们在使用云服务过程中的有价值的经验提示,

优化Node.js Web应用运行速度的10个技巧_node.js

Node.js 受益于它的事件驱动和异步的特征,已经很快了.但是,在现代网络中只是快是不行的.如果你打算用 Node.js 开发你的下一个Web 应用的话,那么你就应该无所不用其极,让你的应用更快,异常的快.本文将介绍 10 条,经过检验得知可大大提高 Node 应用的技巧.废话不多说,让我们逐条来看看. 1. 并行 创建 Web 应用的时候,你可能要多次调用内部 API 来获取各种数据.比如说,假设在 Dashboard 页面上,你要执行下面这几个调用: 用户信息 -getUserProfil

★一名“标题党”自我修炼的10大技巧

一名"标题党"自我修炼的10大技巧 2016-08-31 09:30 来源:人人都是产品经理 编辑:cherlee[纠错]1人评论 A-A+ 随着互联网行业快速发展,"标题党"曾是一个极具讽刺的名词.但随着编辑行业自己的方法论.系统的编辑规范也都出来,在互联网的新时代,"假大空"的标题已走进历史,"标题党"应该有新的诠释. 在基于内容真实性的情况下,根据用户的心理使用一些技巧来激发用户对内容的感知,从而促使用户去获取对自己有用