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

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

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

[[165773]]

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

0. 了解现有成果

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

1. 简单性

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

2. 保证易于上手

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

3. 保持简短

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

4. 整合

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

5. 示例项目

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

6. 概述

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

7. 快速开始

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

8. 默认配置

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

9. 发布

  • 提供不可编辑的脱机格式——PDF。我们能够轻松创建这类说明资料并将其保存在Dropbox上以备随时更新。
  • 在线——建立企业网站。这是最理想的方式,但其更新工作也可能给IT团队带来一定负担。

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

原文标题:10 Tips on How to Build the Perfect SDK

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:王雪燕 来源: 51CTO
相关推荐

2019-09-27 08:00:00

Visual StudVisual Stud开发技巧

2010-09-17 17:35:55

2022-03-09 09:00:00

代码技巧程序员

2011-05-12 12:51:18

2015-09-29 10:08:40

移动游戏开发技巧

2012-06-29 09:52:42

2012-06-28 11:26:22

2016-10-28 14:01:22

DevOps自动化

2019-04-24 12:49:00

2009-12-25 09:34:54

袁萌Linux

2009-12-24 09:22:30

2016-11-17 14:42:46

云企业诀窍

2023-01-09 08:48:00

IT决议结构

2022-02-14 11:30:28

CIO首席信息官网络安全

2017-02-07 09:42:13

2015-06-01 16:58:43

布线

2015-04-23 09:38:43

云计算基础AWS解决方案

2021-06-25 10:15:14

大数据技术大数据新技术

2017-02-16 13:26:30

Windows 10Windows技巧

2013-02-25 09:16:12

HTML5WebCSS
点赞
收藏

51CTO技术栈公众号