关于前后端接口联调的问题讨论

330 天前
 zy0829

技术经理提出了一个要求: 后端提前设计好 api 文档,前端按照文档 mock 开发,然后也不需要联调这个过程。

我在想这样真的就不需要联调了吗?往往身边的同事连个文档都不会看,让前后端按照文档开发真的可行吗?这样会不会更繁琐

6114 次点击
所在节点    程序员
92 条回复
chendl111
330 天前
没有银弹
zy0829
330 天前
@liuyd 这个也行,我觉得不妥的是 他在全公司推行干掉联调这个环节我是理解不了的
debuggerx
330 天前
@zy0829 单元测试肯定有意义,但是投入产出值不值得,更多的是取决于项目环境,其次才是开发水平,比如需求频繁变动的,快速迭代经常把刚上线没多久的功能直接砍掉的,pm 设计需求很少考虑复用的,这种项目追求单元测试覆盖真就没啥意义……
所以,不知道项目和团队的具体情况,没法直接下定论到底经理的想法对不对。当然如果这个经理就是纯粹凭个人喜好做的这些决定,那大概率是要出问题的
zy0829
330 天前
@chendl111 在他那边全是银弹
liuhuihao
330 天前
取决于 1. 前后端开发时能否完全按照文档来开发 2.文档的定义是否全面以及明确。
做到以上两点就可以不用联调了,但实话说基本做不到,很多时候文档定义的是 number 后端会给你个 string ,还有就是 文档最初在写的时候可能大家就没有考虑到会有一些额外的情况,开发过程中还要不停的修正文档,如果双方同步好了还行,没同步好就会出问题
liuyd
330 天前
@zy0829 不联调是不可能的,俩人得多有默契,有改动不只要改代码还得改文档真的烦
Hudiebbk
330 天前
前期给出 api 文档我觉得不是为了后续不链调,而是为了开发能在动手写代码前一起先给出一个初步方案
LcDraven
330 天前
我后端,我以前这样实现过。得后端定义好接口,让前端审核一边。开发好之后就算接口有什么问题也能很快解决。
captain55
330 天前
取消联调不可能,不过可以大大的缩短联调时间。
比如 5d 的开发量,配合 0.4h 的联调。

[谁文档写的不清晰,谁承担责任。谁不看文档,谁承担责任。]
liuyd
330 天前
@Hudiebbk yes ,就是个初步方案,如果说俩边都按照文档开发,那就需要的不仅仅是一个 API 文档,而是一个更加详细的项目设计文档及接口文档,这对开发人员的文档能力有要求,而且需要前后端共同参与,那么写文档的时间将会大大拉长。
acerphoenix
330 天前
就是想白嫖联调排期时间, 压缩工期. 你猜这个经理会不会把文档完善的时间加到开发工时里?
freezebreze
330 天前
后端得懂前端才好让另外一个前端好做 快进到经理让大家全干
MRG0
330 天前
不可能不联调,除非全干
leaves615
330 天前
这个要求是合理的。
设计优先。良好的设计可以有效降低软件工程的成本,提供软件质量。

OP 应该思考采取什么的方式方法加强设计的一步到位,以及前端和后端在沟通和文档质量的高效信息传递。
而不是基于本身就不合理的工作常态中找方式方法来否定要求的合理性。

如果一个人开发,在充分设计好后的完成开发的效率为 1 。
在前后端分离开发的环境中,这个效率多数情况下不能达到 1/2=0.5 。 很多场景下比 1 还有高。效率差的情况下甚至达到了 1+1>2 。

这种情况下就必须采取措施提升效率。而不是降低效率。
sampeng
330 天前
我身边有成功案例,但是。可不是写普通文档,是写 swag api 文档。然后自动生成 sdk 。server 和 client 各自去实现。有问题再回来改。是一个正向循环。
联调时间忽略不计。api 质量变高很多
jiangnan01
330 天前
我去开发商买房,开发商让我去银行贷款,银行让我公司出收入证明,银行把贷款打给了开发商,理论上我每月还月供,拿到了房子,开发商拿到了房款,银行拿到了利息。但实际执行的时候.....
F7TsdQL45E0jmoiG
330 天前
理论上没问题
iyiluo
330 天前
简单的接口可以模拟,但是遇到复杂的业务接口,一定要后端实际的调用才行
fao931013
330 天前
这不就是把 联调时间 算进 测试时间吗 朝三暮四罢了
jixiaopeng
330 天前
我一般都会要求 mock 文档先出,共同评审,然后并行开发,如果有没考虑到的再进行范围影响的讨论,尽量避免时间浪费,这样确实很能提高团队效率。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1017771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX