问老开发一个前后端矛盾的问题

54 天前
 ainyyy
我是 java 后端。新到一个公司,前端所有接口都希望后端返回的数据能直接使用,不进行任何数据处理。比如状态返回 01 他们要 truefalse ,两个需要拼接的字段都返回了,还要增加一个汇总字段。 理由是组件不好复用。我也会写点简单 vue ,完全理解不了组件不能复用是什么意思。

甚至前端渲染图表,list 数据已经返回了,他们要我转换成图表需要的多维数组。

我早上和前端吵起来了,他们竟然说所有前端都是这样的。去找领导也说数据处理是后端该做的工作。

工作 8 年了,我现在也有点懵,是我以前遇到的前端都太好了?
11394 次点击
所在节点    程序员
197 条回复
leoQaQ
54 天前
作为前端,我一般是能自己处理就自己处理。后端给的数据结构实在是太奇葩的情况下才让后端处理。PS: 没有说后端不好的意思,只是有时候后端不了解前端需要什么格式。
MHPSY
54 天前
前端处理不会很麻烦,按理说是应该前端处理
hqmJoker
54 天前
@esee 啊?我也是有时候前后端都写,如果没有规范要求,且涉及比较复杂的转换时,我会倾向于使用自己熟练的技术栈写(也就是前端写),因为使用不熟练的技术栈写,会增加我的开发时间,而且有时候我也会漏掉一些东西,使用熟悉的话基本一遍就过了,调试修复测试流程也比较通畅
kkwa56188
54 天前
看到这里, 前端内部意见已经都不统一了,
所以这个事情更准确的描述是 “部分前端人员要求后端给的数据直接能用”
blessyou
54 天前
这么洁癖,你加一个数据转业务层。
hellomimi
54 天前
如果没有规范明确哪一边做数据处理,
那么可以尝试或者回想一下自己写过的个人项目,前后端都自己来写,看看处理数据是哪边来处理的就知道了。
己所不欲,勿施于人。
pointerman
54 天前
虽然但是,前端要啥,你就给啥
MRG0
54 天前
最好就是按照以前的写法来
duanxianze
54 天前
@irisdev #115 就是因为 js 里面 int 0 很容易被转换成 string,比如路由参数,比如 cookie ,比如 cookie,之前有些厂为了避免这种情况 js 判断甚至用的 string "true" "false" 我都服了
dabennn
54 天前
作为一个老前端,只能说我不在乎数据是不是要拼接或者转换,我只在乎我要用到的数据怎么组出来后端得明确的告诉我,包括多分支的情况用什么字段去判断。还有就是只能接受在一个接口的数据做转化,要是要我用两三个接口的数据去组一份数据出来,我会骂人
hellomimi
54 天前
忍不住再回复一下,哈哈哈🤣,逐条分析:
1 、01-truefalse ,前提需要知道 01 的类型,
如果是数字类型,那么对于前端来说这和 truefalse 没区别(除非前端特别菜)。
如果是字符串类型那么对于前端就很比较操蛋了(虽然常规 99.99%是 int ,但我见过给返回字符串的)。
2 、拼接的字段,前提也需要知道类型,
如果是字符串那么当然前端拼接一下很方便。
如果是数字类型,比如两个字段拼接计算总价,js 处理可能会出现精度丢失的问题,还需要额外引入一些第三方库来解决精度丢失问题;
3 、渲染图表,这个情况基本都由前端处理数据格式,前提需要后端给到的数据完整。
比如给 list ,前端需要自己转成树结构数据,那么 list 里的 parentId 、childId 肯定是必要的,如果没有这些必要字段,前端肯定会和你来扯皮。
crocoBaby
54 天前
大佬怎么说就怎么做,前后端吵没意义
pagxir
54 天前
前端是啥,前端是干展现的活,怎么可能要求跟后端一一对应呢。
Yjhenan
54 天前
@irisdev #115 有些返回的就是字符串数字,甚至还有字符串 null ,后端老大都看不下去了
ainyyy
54 天前
@kakki 哦,我们的二维码就是,一个客户扫码跳转的连接。返回地址不行,要后端转正二维码保存,在给他们反二维码图片地址。 我看到前人数据库存个这玩意还不理解,直到和前端吵了一架
cein
54 天前
上家公司前端,让我列表把序号返回给他,说没序号不好显示,就该后端返回, 我???
dcsuibian
54 天前
我是全栈
1 、数据转换是程序员的基本能力,跟前后端无关
2 、如果代表是否的话,true/false 确实比 0/1 更合适,从语义上更合适,而且类型更正确
3 、我觉得你后端就不应该太管表示层的东西,只要确保前端有能力拿到就行

全栈就不太存在这个问题。前端做还是后端做完全看我觉得哪边方便、哪边通用性强,组里谁要感觉不行就甩手给他写一段前端代码或者后端代码
casphere
54 天前
我是前端 都是我在搞 不费事吧
buffzty
54 天前
方法 1: 你让他写数据格式 设计 api 然后你按照这个做就行.他既然想偷懒 你就把最累的工作给他.他如果不设计你就说你怎么知道它要什么数据.
方法 2: 一步到位 跟他要前端设计图 直接给他返回 html,这下他什么都不需要做了
bzw875
54 天前
我是前端,除了计算金额的,和无法计算的。通通前端自己转码。不会就开除
然后招聘前端面试题要求 5 道题 leetcode 选 3 道题算法题做不出来没有二面

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

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

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

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

© 2021 V2EX