问一下这种情况是公司的 Java 在忽悠我不懂后端吗?

2020-01-18 09:36:12 +08:00
 excitedXXX
1.公司测试提了个 BUG,一个 list 删除某 item 显示成功但没从 list 中移除.接着从 log 中发现删除的 code 返回是成功的,提示成功后再次请求 list 被删除的 item 仍然给我返回了.遂觉得是后端的原因,便把 BUG 指给了他.然后这货告诉我是因为主从库延迟的问题,需要删除成功后前端自己先去移除 list 中的 item.我就问问这种问题大家遇到过吗?都是怎么解决的
2.接着过了一段时间 list 接口偶现 code5000,提示 sql 有错.这货就说一定是你前端的问题啊,前端传的参数不对,后端 sql 当然就报错了,没办法气势没人家强,打印 log 发现参数没有问题,告诉这货这货也不吭声,也不知道改了没.事后一想,不对啊,偶现的 BUG 怎么可能会是参数的问题,我寻思着参数不对你也应该每个提示吧,直接崩了就不太好了吧.
.....类似的事情太多了,什么 int 无值给个 null,性别无默认值也给 null,为 null 的连这个字段都不传过来....
这是我不懂后端,还是技术壁垒没办法?
6413 次点击
所在节点    问与答
43 条回复
Erroad
2020-01-18 12:00:53 +08:00
第一个问题:总体方案设计有问题,主从延迟这种东西肯定会有的,到底是前端做个本地缓存处理,还是后端做强制读主库处理或者做一层缓存处理视情况而定;

第二个问题:前端的输入参数引起 sql 报错,那么就说明后端没有对前端数据做好参数校验和过滤,绝对后端有锅,参数到底怎么传可能是你们协商的问题、后端接口文档、你理解上的问题。

总体来说,我觉得你们后端问题比较大,毕竟后端应该担负起整个服务的责任
mejee
2020-01-18 12:01:39 +08:00
1,后端没有坑你,前端删除对于用户感受也会好些,不用重新加载列表。但是从库延迟的问题应该设计方案的时候就想到,不过 一般最多 也就几百毫秒的延迟,很多时候会忽略掉这个问题。

2,直接崩了是后端的锅,其他的不好说。
CEBBCAT
2020-01-18 12:28:27 +08:00
人类都登月几十年了,技术问题不存在。

第一个是一致性问题,要是我我就吭哧吭哧找解决办法去了,没听说过 YouTube 删什么东西还要删几分钟的,不过对于用户倒是可以解释成有缓存

第二个也是他在甩锅,对外暴露的接口应该对传进来的数据持怀疑态度。传 null 是团队开发规范吧,八成咱俩都是小公司,体量大点就会有要求,不然协作也太折磨人了
mnssbe
2020-01-18 12:38:31 +08:00
这个后端太水,怼得太直接也是影响工作
mnssbe
2020-01-18 12:45:17 +08:00
@k9982874 搞了读写分离这个问题就解决不了了?
SyncWorld
2020-01-18 13:37:59 +08:00
第一个问题没看懂....
第二个问题:要么是开发时间压缩的很近,要么是外包公司,要么就是后台脑残~~ 凡是开发时间给充足了,我都会校验参数的,但是 TMD 我们公司让我们一个月要做完 200 多个功能,那就.....凡是报错全部在拦截器层处理,统一返回请求失败,参数都不带校验的,必传相全部在数据库里设置 not null........这样很不负责,但是可以提高不少的工作效率.
再按以前那种,错误码排一堆,各种异常分别处理,我估计我们老板得让我们 007 了
KasonPasser
2020-01-18 14:05:47 +08:00
如果是参数问题,那应该也把对应的问题给返回。而不是拿错误的参数去执行 sql 完全相信前端传来的数据,分分钟就给别人脱库。
icecreamxuegao
2020-01-18 14:11:00 +08:00
字段无值不返回或者给 null 这种还是要看规范的,如果有规范就按照规范来,如果没有规范就两个人商量出一个规范出来就行了。
lovemegowin
2020-01-18 14:17:27 +08:00
还是不够强势 换我遇到这种后端能喷到他妈都不认识
zigzog
2020-01-18 14:28:00 +08:00
1 有可能是真的,2 应该是忽悠,从 2 反推 1 应该也是忽悠
ZXCDFGTYU
2020-01-18 14:57:39 +08:00
大写的忽悠
liumxz
2020-01-18 15:00:25 +08:00
卢本伟牛逼
751327
2020-01-18 15:28:36 +08:00
第一个问题有可能
第二个问题,你们这前后端关系也太僵硬....
excitedXXX
2020-01-18 15:49:19 +08:00
@751327 我也觉得,我才来没多久,之前的公司有啥问题都是互相帮忙排除,在这就是互相甩锅.有时候 bug 指错人了还发火....同组的打包也不通知,他改完打包给测试了然后我的 bug 全部算复现..QAQ.
cedoo22
2020-01-18 18:04:29 +08:00
说实话, 作为一个服务端开发,很容易对前端有点不耐烦,业务流程复杂的时候,调试会有许多不确定性的问题,接口提供出来给你调用,出了问题,永远第一句就是:这里为啥返回的是这样??
大部分公司而言 前端不会做多么开创性的东西,就只是展示数据那么简单的事情,所有的逻辑基本都在后端,一不给日志 二不发参数,一来就质问的语气 问为啥不对。。。。
hoyixi
2020-01-18 18:09:54 +08:00
软件作坊就这样,整天加班其实都在扯淡
akira
2020-01-18 18:47:06 +08:00
@cedoo22 啊不然咧,分工就是这样的啊。。
xiaojun1994
2020-01-18 19:09:36 +08:00
这就扯淡了,我一般会自己删掉,但是挡不住用户刷新啊,一刷新又出来了岂不是很尴尬
q8164305
2020-01-18 19:31:11 +08:00
所以我自己学后端了,跟他们扯真的很费事
zhw2590582
2020-01-19 08:44:52 +08:00
@daimubai 这也太嚣张了吧

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

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

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

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

© 2021 V2EX