公司后端接口格式不规范,前端该怎么办

2023-03-23 11:27:42 +08:00
 lsymy

背景: 我本来是以后端应聘进入公司的,在独立开发完两个项目后工作内容有变动,转了前端。

然后现在做前端内容一个月时间,发现是个巨坑。 主要包括但不限于:

  1. 后端的接口不遵循 restful
  2. 帕斯卡、下划线命名混用,在一个字段可以见到 2 种命名规则,如: 'Sum_Money'
  3. 对数据完全不做处理,比如一个数字类型,空的时候会有 0 和 null 两种情况
  4. 返回的数据需要前端计算处理, 十个字段有五个是要计算的
  5. 常常修改字段名

因为这些问题已经和后端激烈沟通过两次,无果。以数据量大,节省服务器资源等理由搪塞,我感觉就是纯偷懒。
所以想集思广益,我明天准备进行第三次沟通。
就查个表干脆数据库放开来让我自己查得了!

7967 次点击
所在节点    职场话题
80 条回复
orzorzorzorz
2023-03-24 10:48:21 +08:00
我刚毕业的时候,得蒙为我引路的老大厚爱,颇被器重。当时也是年轻气盛,碰见这情况不得呼天抢地求爷爷告奶奶地跟老大哭诉,晓之以理动之以情诱之以利:“操你妈的改不改,改不改?不改我就……”那时候老大只是笑笑不说话,也没为难我,只是不了了之了。
当我还在研究轮子,分享会也老是提改改改的方案的时候,老大提桶了,我坐上了老大的位置。
后来有一天,有个新人进来,他看见这一团糟的业务逻辑,对我说:“操你妈的改不改,改不改?不改我就……”
我当时也只能笑笑不说话,也没为难他,只是不了了之了。
只是在心里补了一句:“……就认了。”
cangcang
2023-03-24 10:51:00 +08:00
不规范无所谓,只要他永远别改
28Sv0ngQfIE7Yloe
2023-03-24 10:55:46 +08:00
restFul 又不是银弹,为啥必须要用,,
duan602728596
2023-03-24 12:46:47 +08:00
我这以前还见过直接把密码明文传回来的,喷了三个月才改。所以不要神化后端,有些人就是能力不行,只不过他恰好做后端而已。
lovelylain
2023-03-24 13:41:38 +08:00
1. 无所谓,全 post 真香
2. 新增的对接时可以纠正,存量的不管
3. 新增的对接时可以纠正,存量的不管,建议用 protobuf 定义接口,字段标准而且不用另外维护文档
4. 看实际情况,如果后端接口并非专门针对你这个场景提供,那么前端计算合理
5. 不应该,类似 2 和 3 ,即使不合理也非必要不修改,前后端沟通好要解决 2 的问题除外
6. 如果分页和排序条件能和 DB 设计对应,就应该后台分页排序,对应不上本身后台也要全捞出来才能排序的话,可考虑前端做。
xiaojun1994
2023-03-24 15:13:56 +08:00
后端返回结构都不统一,了解一下
Yukiteru
2023-03-24 16:31:18 +08:00
这帖子里这么多嘲讽楼主的回复,怕不都是正好符合楼主描述的后端吧?
yuningWang8
2023-03-24 17:08:22 +08:00
习惯就好了。有意见提一下可以,没必要激烈沟通。

另外有一个办法:把经常用的代码封装成组件。后端如果给的接口不一致,直接告诉他们必须保持一致,否则组件不接受就行了。
spikie
2023-03-24 17:29:55 +08:00
@lsymy 改字段不通知也太不负责任了
spikie
2023-03-24 17:31:21 +08:00
@lsymy 除了 5 ,其他的无非就是工作量的事,他坚持前端那就前端做,工期排出来就好了
eycode
2023-03-24 17:37:09 +08:00
有没有可能他们也想改,无力回天怎么改,流水的士兵,铁打的岗位,除了第 5 点外,其他真不算事。如果改了,之前的功能是不是也跟着改,后端规范一改,前端多少功能要改,你摸清楚了没有,不是你一句规范就规范的。项目前期没有规划好,扔锅给老板呗
hefish
2023-03-24 17:47:01 +08:00
看起来你得把后端也一并写了。 工资只有一份啊。 去吧。
huijiewei
2023-03-24 23:10:20 +08:00
要求不要一次提那么多

先一步一步走

首先变量命名统一了。。。
ruoxie
2023-03-25 00:11:27 +08:00
没领导?
opentrade
2023-03-25 00:21:37 +08:00
solitude2
2023-03-25 05:03:10 +08:00
哎,刚入职的我也感觉这里那里不合理,但是大家不愿意或不想听。没有话语权,还是老老实实完成功能吧。改变不了的,选人或制度的问题
lyonbrown4ddd
2023-03-25 08:31:21 +08:00
这种让前端手动分页加排序的后端 见一个骂一个
Outshine
2023-03-25 17:22:03 +08:00
> 后端的接口不遵循 restful

虽然我写的 API 都是 restful 的,但是我感觉不是 restful 也无伤大雅,只要你们有自己的标准或者不要太凌乱(比如 `/getAllUsersList`)

> 帕斯卡、下划线命名混用,在一个字段可以见到 2 种命名规则,如: `Sum_Money`

这个不太能忍。不过不知道你们同一个数据在不同 API 返回字段是不是一样的命名?比如用户的 `nickname` 在不同的 API 下都是 `nickname` ,而不会出现 `nick_name` 和 `nickName`。


> 对数据完全不做处理,比如一个数字类型,空的时候会有 0 和 null 两种情况

这个得分情况,有的数据确实必须得有 0 和 null ,但是有的数据不可能出现 null (比如用户的帖子数)


> 返回的数据需要前端计算处理, 十个字段有五个是要计算的

这个我倾向于后端计算,如果前端计算的话,ios 、安卓、网页端啥的不都得各自写一遍计算代码?如果计算方式需要改的话,前两者还需要重新打包上架,而且每个端都需要改一次。


> 常常修改字段名

这个也不能忍

---

整体来说,你这些点像极了微信的狗屎 API
fenglc
2023-03-31 09:37:28 +08:00
@opentrade 您当前访问的页面存在安全风险!
公安机关温馨提醒:
您访问的 http://web.rustdesk.com 该网站被大量用户举报,网站含有未经证实的信息,可能造成您的损失,建议谨慎访问!
opentrade
2023-03-31 09:53:03 +08:00

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

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

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

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

© 2021 V2EX