开发人员:构建API时先自己试试

简介:

简单地构建一个API是不够的。如果在发布API之前不能“先自己试试”,那么结局就是失败。Zachary Flower详细解释了个中原因。创业公司的开发生命周期必然充满妥协。有太多东西需要完成,但是没有足够的资源保证所有东西都“正确”完成,因此开发人员在恰当的时候必须妥协。不幸的是,为产品构建API与其说是技术决策,不如定义成业务决策更为贴切,这也正是需要妥协的地方。

为已有产品构建API的挑战是,业务需求总是最重要的。为了跟上业务需求的脚步,我们通常被强迫在产品质量上作出让步,这在创业公司应用开发过程中很常见,也绝对是API开发的最差方式。

开发API时最重要的一件事是就是使用它。“Dogfooding”是创业论坛里的流行词汇,用来描述企业规律地使用自己的产品,从而更好服务客户的行为。在创建API时,能够“先自己试试”极其重要,因为其向开发人员提供了一种方式来集成业务的核心功能到自己的产品里。如果这样,或者作为主要产品的一部分,API无法正常工作,那么开发人员,及其用户,注定无法获得良好的用户体验。这会让所有人都感觉很糟糕。

挑战代码基

如果在构建API时不先自己试试,那么可能最终需要管理两个单独的,大部分功能一样的代码基。第一个代码基,主要产品,是大部分开发活动发生的地方。因此,它比第二个代码基,API,更加清晰并且功能更为丰富。

被称为“第二个”代码基的API,会很快成为无主代码。它的更新很繁琐,和实际开发相比更像数据处理的工作,因为大部分工作是从“主要”代码基里拷贝方法出来。因为其特性和bug修复晚于主要产品,这会使得用户——至少坚持在使用的消费者——感到上当受骗,甚至可能感到被开发人员背叛了。

API开发会最终延期,甚至可能完全终止,从而保证团队将更多的资源关注于主要产品上。

正确还是完全不正确

当构建API时,一个很好的规则就是,如果还没有准备好重写所有后台代码从而自己试试API,那么最好避免开发API。要像思考任何新产品那样仔细全面地思考开发API的决策。这样,你才能高效投入到构建两个新产品里,因为不能不使用API。

当API是你自己产品的正式后台时,那么很容易保持代码DRY——不重复自己。特性直接为API而开发,这使得可以立即向客户发布特性。这也使得在将主要产品发布给API用户之前测试这些新特性容易得多。当制造者同时也是产品的用户时,那么所有API上存在的问题都会得到极大的重视。Bug会被立即修复,因为它们影响到所有人。

随着开发人员越来越频繁地使用第三方API,我发现大家都能够指出哪些是核心产品的核心部分,哪些是后来添加的东西。不需要专家就能构建出质量良好的产品,开发人员会主动解决使用产品直接会遇到的问题:这在后来开发的API里就缺失这样的关注。



本文转自d1net(转载)

相关文章
|
10天前
|
API 网络架构 UED
构建RESTful API的最佳实践
【8月更文挑战第54天】在数字化时代,RESTful API已成为连接不同软件系统、提供数据服务的关键桥梁。本文将深入探讨如何构建高效、可维护的RESTful API,涵盖设计原则、安全策略和性能优化等关键方面。通过具体代码示例,我们将一步步展示如何实现一个简洁、直观且功能强大的API。无论你是新手还是有经验的开发者,这篇文章都将为你提供宝贵的指导和启示。
60 33
|
5天前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
21天前
|
Go API 开发者
深入探讨:使用Go语言构建高性能RESTful API服务
在本文中,我们将探索Go语言在构建高效、可靠的RESTful API服务中的独特优势。通过实际案例分析,我们将展示Go如何通过其并发模型、简洁的语法和内置的http包,成为现代后端服务开发的有力工具。
|
11天前
|
API
构建高效RESTful API的最佳实践
【9月更文挑战第21天】在数字化时代,API已成为软件应用间沟通的桥梁。本文将探讨如何设计和维护一个高效的RESTful API,确保它不仅能够快速响应,同时也易于扩展和维护。我们将通过实际的代码示例来揭示这些最佳实践背后的逻辑和原理,帮助你构建一个既稳定又灵活的后端服务。
|
14天前
|
安全 JavaScript NoSQL
构建高效后端API的实用指南
【9月更文挑战第18天】在数字化时代,后端API是连接数据与应用的桥梁。本文将深入探讨如何设计并实现高效、可扩展且安全的后端API,从理解RESTful原则到选择合适的编程语言和框架,再到数据库设计和优化查询,最后通过代码示例展示如何将理论应用于实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧,帮助你构建更好的后端系统。
13 1
|
20天前
|
JSON API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
29 6
|
22天前
|
JSON 安全 API
构建高效后端API的五大原则
【9月更文挑战第10天】在数字化时代,后端API成为了连接用户与服务、实现数据流动的重要桥梁。本文将深入探讨如何设计并构建一个高效、可扩展且安全的后端API系统。我们将从RESTful架构开始,逐步深入到错误处理、安全性、性能优化和文档编写等方面,为读者提供一套完整的后端API构建指南。无论你是初学者还是有经验的开发者,这篇文章都将为你带来新的视角和思考。
|
23天前
|
设计模式 测试技术 API
Micronaut魔法书:揭秘构建超光速RESTful API的绝密技术!
【9月更文挑战第10天】在现代Web开发中,构建RESTful API至关重要。Micronaut作为一款轻量级框架,能够快速创建高效API。本文探讨使用Micronaut构建RESTful API的最佳设计模式与实践,涵盖注解(如`@Controller`、`@Get`)、代码组织、REST原则、数据验证及测试等方面,帮助开发者构建结构清晰、可维护性强的API服务。示例代码展示了如何使用Micronaut实现用户管理API,强调了良好设计模式的重要性。
41 3
|
23天前
|
存储 安全 API
探索后端开发:构建高效API的艺术
【9月更文挑战第9天】在数字时代的浪潮中,后端开发如同一位默默无闻的艺术家,精心雕琢着每一个数据交互的细节。本文将带你走进后端的世界,从基础概念到实战技巧,一起学习如何打造高效、稳定且易于扩展的API。我们将通过深入浅出的方式,探讨后端开发的哲学与实践,让你在编码之旅中,找到属于自己的节奏和和谐。让我们一起跟随代码的脚步,解锁后端开发的无限可能。
|
15天前
|
存储 JavaScript NoSQL
深入浅出后端开发:构建你的第一个RESTful API
【9月更文挑战第17天】在数字时代的浪潮中,后端开发是支撑起整个互联网的骨架。本文将引导读者了解后端开发的基本概念,并通过一个实际的代码示例,展示如何从零开始构建一个简单的RESTful API。我们将一起探索API设计的哲学、选择合适的后端语言和框架,以及实现数据存储和接口测试的过程。无论你是编程新手,还是希望扩展你的技术栈,这篇文章都将为你提供一次全面而深入的后端开发之旅。
33 0
下一篇
无影云桌面