美文网首页
每个产品经理都该懂点技术(二):接口文档的作用

每个产品经理都该懂点技术(二):接口文档的作用

作者: 九里 | 来源:发表于2019-10-22 11:33 被阅读0次

两年前写了每个产品经理都该懂点技术的第一篇。我以为我能坚持写个七八篇这个系列的文章,结果两年过去了第二篇都没写完。其实并不是没写,而是自己对产品和技术之间的关系的理解确实浅薄。今天发表这篇主要是因为我没预料到第一篇能有将近5000的阅读(考虑到很多我认真写的技术文章阅读不过百,5000阅读数已经是我的人生巅峰了),其次是今年三月份有个读者评论让我续写。所以我就把之前写的这篇加上这两年的思考重新整理了一下。望各位喜欢。


上一篇提到,前后端合作开发的时候需要用到接口文档。那么本篇就说说接口文档在产品中究竟有什么作用。

约束

假如你的项目中有若干前端和若干后端。你现在需要开发一个登陆接口,通常情况下这个功能一个前端和一个后端开发就足够了。有些公司的后端很强势,因此可能出现后端写好接口之后告诉前端去开发页面。也可能前端很强势,因此前端写好页面之后让后端去写接口。

这两种情况都不是我们希望见到的。这是因为如果我们自由开发一个接口,后端开发人员通常会选择最符合后端直觉的方式去写接口。反过来,对于前端开发人员来说,他们一定会选择最容易展示的方式去写页面。这两种直觉之间是会有差异的,因此这样的一方主导开发的情况很容易出现各种各样的意外情况。

所以为了避免这样的情况,我们需要接口文档来约束前后端的协同开发。

规范

我的职位是Java后端开发,不过实际工作中也会写很多前端页面。虽然技术上是前后端分离的,但是对于我来说,其实是一起开发的。既然自己开发前后端,肯定会了解前后端各自的特点,那么就不会因为开发思路的差异而导致出现意外。那么对于我来说,是不是接口文档就没必要存在了呢?
答案显然是否定的。接口文档的另一个重要作用就是规范。
项目需求变动是很常见的情况,举个例子,我们现在有一个学生表。页面上需要用一个表格展示所有的学生,可以分页操作。
假设现在的接口文档是这样的:

名称 内容
API /student
返回内容 student:[{id:'',name:'',addredd:''}]
参数1 currentPage 当前页
参数2 pageSize 页大小
学生表

然后需求变动了,我们需要把学生表展示为教师表。


image.png

这两个接口从后台逻辑来说应该是完全一致的。唯一的差别是我们需要查不同的表。从前台逻辑来说,这两个除了接口不一样,其他的分页字段应该是一致的。理想情况下如果一个前端开发接手这个页面之后,完全可以不看文档直接改API地址,然后修改页面的填充数据就可以了。

现实是,很多接口的规范做的不好。这就导致了,逻辑相同的两个接口,他们的查询参数可能是不一样的。这样就会出现下面的情况:

名称 内容
API /teacher
返回内容 teacher:[{id:'',name:'',addredd:''}]
参数1 page 当前页
参数2 size 页大小

返回内容的更改是没问题的,但是因为两个接口没有规范,这就导致其他开发人员接手的时候不仅需要改数据的格式,也需要更改参数名。这在无形中就降低了开发效率。

另一方面,文档健全肯定是好的。但是毫无规律,随意编写的文档却会降低开发效率。因此健全的文档必须要配合良好的文档规范,这样才可以让开发人员可以预估API返回的数据格式和请求参数。

版本回溯

基本上每个App都有一个版本号。这个版本号是代码的版本,表示这个版本的代码有相应的功能。同样的道理,文档也需要通过版本进行管理。每个版本的App都要有相应版本的文档。这样当项目需要回滚的时候我们可以马上知道上个版本的需求。

总结

本篇没有从教科书的层面去说项目文档的作用,我是结合了自己的开发经验来说一下自己对文档的体会。跟上篇一样,我也是从开发者的角度去理解产品经理的思维。希望我自己的体会能让产品经理更了解开发者的思路。

相关文章

  • 每个产品经理都该懂点技术(二):接口文档的作用

    两年前写了每个产品经理都该懂点技术的第一篇。我以为我能坚持写个七八篇这个系列的文章,结果两年过去了第二篇都没写完。...

  • 产品经理要懂技术么?

    一、产品经理要懂技术么? 参与产品设计并通过与工程师协作来共同研发产品的产品经理都需要懂技术 二、产品思维与技术思...

  • 每个产品经理都该懂点技术(一):前后端做什么?

    每个产品经理都应该懂点技术。当技术人员认为你提出的需求不能实现而怼你的时候,你可以从技术的角度将他正面击倒。而且熟...

  • 产品必懂的技术必修(五)

    上一篇: 产品必懂的技术必修(一) 产品必懂的技术必修(二) 产品必懂的技术必修(三) 产品必懂的技术必修(四) ...

  • 产品必懂的技术必修(四)

    前几篇: 产品必懂的技术必修(一) 产品必懂的技术必修(二) 产品必懂的技术必修(三) 第五章 产品经理必懂的服务...

  • 产品人的结构化思维

    产品经理每天需要与技术人员打交道,那么产品经理该不该懂技术或者说该懂多少技术才算“合格”,产品人应该是一个理性的逻...

  • 我眼中的产品经理

    我眼中的产品经理 产品经理是该多懂技术,还是要懂设计,还是懂用户; 产品经理是要擅长沟通,逻辑条理清晰,还是会汇报...

  • 拿到一个测试需求时,如何入手写测试用例

    问:拿到技术文档该如何下手,如何建立测试用例树。 通读文档,明确产品的核心点(核心需求是什?和竞品比优势体现在哪?...

  • 产品必懂的技术必修(三)

    上一篇: 产品必懂的技术必修(一) 产品必懂的技术必修(二) 第四章 前端—移动端技术 本章目录 一、Androi...

  • 产品经理的七个层级

    第一层:需求细化与研发跟进 1、主要工作:画原型、写文档 2、技能:画原型要懂点设计、写文档要懂点技术 3、职责:...

网友评论

      本文标题:每个产品经理都该懂点技术(二):接口文档的作用

      本文链接:https://www.haomeiwen.com/subject/fndbuxtx.html