总被程序员坑?你需要了解API接口

news2024/11/25 4:45:38

编辑导读:程序员是公司里的技术岗,也是产品经理最密切的合作伙伴。但是,程序员能看懂产品经理的工作,产品经理却不一定能明白程序员的工作,因此也常常被无良程序员坑。本文就从API接口的维度,浅析API的概念以及为什么要了解它,避免PM们在实际工作对代码技术类知识一无所知。

产品经理在日常工作中,负责推进项目进度。当他们与程序员对接的时候,询问这个功能几天能做完,程序员给的答案是五天。虽然你预计的时间只有三天,但你无计可施,只能相信他,并如约给了他五天时间,最后却导致项目延期。

你并不知道这个功能的代码究竟有多少,程序员的工作量有多大,他利用你的一无所知有意拖延你的项目进度,最后背锅的还是你。

程序员,是公司里的极致技术类职位,他能看懂我们的工作,我们却很难理解他们。为了PM们在实际工作中不被无良程序员祸害,本文就从API接口的维度,浅析API的概念以及为什么要了解它,避免PM们在实际工作对代码技术类知识一无所知。

一、API的概念

API,官方定义为应用程序编程接口。就是把是一些预先定义的接口,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。​​测试API接口​

二、为什么要懂API文档

既然API如此复杂,又不属于PM的工作范畴,我们为何需要大费周章的理解它呢,我们的目的是什么。

1. 明确需要的接口服务

API分为很多种,最基础也是产品最需要的诸如短信API,地图API,语音API等,如果我们的产品涉及到此方面的功能,那就必须了解这方面的API以便于在需求设计阶段考虑更全面

2. 掌握项目开发的工作量,合理安排计划

这里说白一点就是防止被程序员欺骗。你走过去,发现程序员正在勤勤恳恳,对不起,人家在做外包,就是欺负你代码看不懂,气不气?但是如果你知道接口的难度和工作量,规定他在多久之内给你,就不会出现拖延项目的情况,也更有利于项目流程的更进

3. 联调测试,识别项目风险点

一些关键接口、数据量大需要进行大数据压测的接口,必须经过联掉测试,测出它的最大访问量,并对其进行优化或者设置限制,防止系统崩溃。

4. 方便项目对接

PM懂一点技术,就不会闹出明明不能做,却还非要程序员做出来的笑话了。从这个角度看,也更有利于PM和程序员之间的团队沟通与和谐,避免矛盾,不至于弄翻友谊的小船。了解API可以使PM对技术理解更深刻,更好地衡量开发工作量和制定功能内容。

三、举例说明API的重要性

优点:

开发人员A开发了软件A,开发人员B正在开发软件B,A想用B的部分成果或功能辅助开发B软件,但不想完整输入A的软件,怎么办?于是A将软件打包成一个函数,放在B软件中,这个函数就是API。

如果没有API,B就必须把A软件的流程整个走一遍,耗费大量的时间精力,但如果是接口接入部分功能,轻松便捷,想用就用,想拔出就拔出。

有一杯密封果汁叫做数据库;果汁上面插着吸管,叫做API。如果你想喝到杯子里的果汁,由于它是密封的,你只能依靠吸管插入,否则你就喝不到果汁。

在这个故事中,你属于某系统,你想获得果汁,就必须通过吸管,也就是接口,API来实现,而且这个API是数据库的唯一API。这样说来,API是一种完善项目功能,提高产品价值的辅助工具。

缺点:

因为API是借助了第三方软件,接入方在使用其他软件包功能的同时相当于为自身插入了一个监控,会有数据泄露给第三方的危险。所以如果是公司的核心功能,最好是使用企业内部的API。

四、总结:万物相通

也许大家都是看了美国的科幻大片,把程序员想象成黑客一般的高智商人物。但现实是,在大多数情况下他们也只是负责修复BUG,真正的源代码不过是网上复制粘贴。所以PM们不要被他的表象所迷惑,了解他们的工作量,在团队中只要给出明确的指令管理项目进度,并且大致了解程序员的工作内容以便于你管理对接就行了。

最后我想说的是,在产品行业,万物都是相通的,PM不用质疑自己的工作或者感到自卑,如果说程序员是科学家,那么PM就相当于哲学家,只不过是负责改造自然环境和人类社会的区别罢了,其思维逻辑都是大同小异,程序员其实就是PM知识的技术流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十七、本地方法接口的理解

什么是本地方法? 1.简单来讲,一个Ntive method 就是一个Java调用非Java代码的接口.一个Native Method 是这样一个Java方法:该方法的实现由非Java语言实现,比如C,这个特征并非Java所特有,很多其他的编程语言都由这一机制,比如在C中…

常见HTTP攻击赏析(1)

基于OpenAPI的APIcat开源日志监控软件已经开发一段时间了,在自己的网站上抓到了一些HTTP的攻击,没事,我们就汇总给大家做个赏析,也当是个提醒。 对应的OpenAPI定义上传到了百家饭平台 API攻击样例详情百家饭OpenAPI平台主站http…

最新会声会影2023旗舰版更新了哪些功能?

会声会影在用户的陪伴下走过26余载,经过上百个版本的优化迭代,已将操作极大简易化,会声会影拥有公认的上手口碑。只需将想要的效果拖拽到轨道上,一拖一放间快速成片。专业工具助力视频剪辑操作简单,功能同样强大&#…

Ubuntu 新人上手 Microk8s 指南

文章目录1. 什么是 Ubuntu 核心2. 什么是 Kubernetes3. 什么是MicroK8s4. 为什么选择 Microk8s on Core5. 安装Ubuntu Core6. Ubuntu Core上安装 MicroK8S7. 启动 Microk8s8. 启用必要的 MicroK8s 插件9. 部署示例容器工作负载10. 检查部署状态并访问您的应用程序11. 管理镜像1…

docker布署spring boot jar包项目

目录docker 安装创建目录制作镜像启动容器查看日志docker 安装 Docker安装、详解与部署 创建目录 服务器中创建一个目录,存放项目jar包和Dockerfile 文件 mkdir /目录位置创建目录后创建Dockerfile文件,上传jar包到同一目录下 创建dockerfile vim Doc…

一文读懂Java/O流的使用方法和技巧

1.前言 Java 中的 I/O 流是实现输入和输出的一种机制,可以用来读写文件、网络、内存等各种资源。Java 提供了各种类型的流,包括字节流和字符流,以及面向文本和二进制数据的流。在本文中,我们将深入探讨 Java I/O 流的各个方面&am…

空指针,野指针

空指针在C/C中,空指针(null pointer)是指向内存地址0的指针变量。NULL在C/C中的定义为:#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif #endif从上面的代码定义中,我们可以发现在C…

【数据聚类|深度聚类】Deep Comprehensive Correlation Mining for Image Clustering(DCCM)论文研读

Abstract 翻译 最近出现的深度无监督方法使我们能够联合学习表示和对未标记数据进行聚类。这些深度聚类方法主要关注样本之间的相关性,例如选择高精度对来逐步调整特征表示,而忽略了其他有用的相关性。本文提出了一种新的聚类框架,称为深度全面相关挖掘(DCCM),从三个方面…

APP自动化(2)-【耗时3天爬出几个坑终于完成】appium连接手机模拟器,python对操作手机打开微信

上一篇已经熟悉了appium常用的命令 APP自动化(1)-Appium中adb常用命令 本篇主要是通过python连接appium对手机的一个操作。 后续的appium和nodejssdk安装都需要按照下面这篇文章的来跑 PythonAppium从安装到第一个小练习(保姆级别教程) 然后就是全部环境…

经纬恒润助力微宏动力荣获ISO 26262功能安全ASIL C产品认证证书

近日,经纬恒润与微宏动力合作的BMS4.0平台功能安全开发项目完美收官,该平台产品获得ISO 26262:2018 ASIL C 功能安全产品认证证书 以及 ASIL D 功能安全流程体系证书。该项目以微宏动力为实施主体,经纬恒润功能安全咨询团队提供支持&#xff…

《ChatGPT是怎样炼成的》

ChatGPT 在全世界范围内风靡一时,我现在每天都会使用 ChatGPT 帮我回答几个问题,甚至有的时候在一天内我和它对话的时间比和正常人类对话还要多,因为它确实“法力无边,功能强大”。 ChatGPT 可以帮助我解读程序,做翻译…

2023爱分析·一体化HR SaaS市场厂商评估报告:北森

目录 1.研究范围定义 2. 一体化HR SaaS市场分析 3.厂商评估:北森 4.入选证书 1.研究范围定义 研究范围 伴随数字化转型走向深入,企业人力资源数字化也进入快速发展阶段,人力资源的价值也得到了重新审视和定义。政策层面,《…

jmeter学习笔记二(jmeter函数与后置处理器)

Jmeter重要的函数 ${__counter(,)} 计数器 ​ ${__counter(TRUE,)} 默认加1; TRUE,每个用户有自己的计数器;FALSE,使用全局计数器 ​ 计数器元件,可以设置起始值,间隔值,最大值。运行结果超过最大值时&a…

Spark Shuffle解析

1 Shuffle的核心要点 1.1 ShuffleMapStage与ResultStage ShuffleMapStage与ResultStage 在划分stage时,最后一个stage称为finalStage,它本质上是一个ResultStage对象,前面的所有stage被称为ShuffleMapStage。 ShuffleMapStage的结束伴随着…

16 Nacos服务端服务注册源码分析

Nacos服务端服务注册源码分析 服务端调用接口 我们已经知道客户端在注册服务的时候实际上是调用的NamingService.registerInstance这个方法来完成实例的注册,而且在最后我们也告诉了大家实际上从本质上讲服务注册就是调用的对应接口nacos/v1/ns/instance&#xff…

浅谈一下mysql8.0与5.7的字符集

修改字符集 修改步骤 在MySQL8.0版本之前,默认字符集为1atin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为ut8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL8.0开始,数据库的默认编码将改…

《强化学习导论》之6.5 Q-Learning

Q-Learning:Off-Policy TD Control强化学习的早期突破之一是开发了一种称为Q学习的非策略TD控制算法(Watkins,1989)。其最简单的形式,定义为(6.8)在这种情况下,学习的动作-值函数Q直接近似于最优动作-值函数&#xff0…

【C++PrimerPlus】第三章 处理数据

文章目录前言内容目录3.1 简单变量3.1.2 变量名3.1.2 整形3.1.3 整形short,int,long,long long3.1.4 无符号类型3.1.5 选择整形类型3.1.6 整形字面值3.1.7 C如何确定常量的类型3.1.8 char类型:字符和小整数3.1.9 bool类型3.2 const修饰符3.3浮点数3.3.1 书写浮点数3…

【存储】存储协议

存储协议SCSI协议SCSI协议和存储系统SCSI协议寻址方式iSCSI产生的原因--->基于IP网络的SCSIiSCSI启动器-->目标器模型iSCSI体系结构iSCSI和SCSI、TCP和IP的关系SAS协议为什么要发展SASSAS协议层次结构SAS特点SAS的可扩展性SAS与其他传输技术的比较FCFC协议结构FC拓扑结构…

vueCli实现一个自定义loader

生活只会欺负穷人,爱情也是 webpack 作为前端项目的打包工具,具有很好的学习价值。下面来学习下其中的 Loader Loader可以帮助webpack将不同类型的文件转换为webpack可识别的模块 webpack中Loader使用:https://www.webpackjs.com/loaders/…