被美团项目给生煎了

接了一个项目

项目非常简单:写一个日调用量10W - 100W的接口,并解决性能问题。 其中,有的接口有一个列表,3W个参数。

当然,qps几十毫秒就行,最差300ms。

3W个参数?

有人说:什么神经接口,3W个参数?你扯淡呢。这个接口不合理啊。 不合理又能怎么办呢?业务就是这样的。

我就开发了一个接口,然后:被打回了。

命名不规范

为了保密,就用其他方式代替。

公司有个业务,需要买20斤牛肉。 于是,我就起了一个函数名:buyBeef。

然后,主R表示,你命名的不规范,应该是buy牛Meat。

text
复制代码
beef,英语单词,名词、动词,作名词时译为“牛肉;肌肉;食用牛;牢骚”,作动词时译为“抱怨,告发;发牢骚;养;加强”

beef是俚语,他不规范。他有两个意思:矛盾、牛肉,万一有人理解为了“买矛盾”就有歧义。

你看之前的函数名,买羊肉是Buy羊Meat, 买猪肉是Buy猪Meat,你起了一个函数名BuyBeef,不伦不类,有业务歧义!!!

胳膊拧不过大腿。 于是,我把写好的代码给重构了,改了几十个地方的函数名。

宝宝委屈,但是我不说。

二次重构

然后,就是有的接口有几万个参数。 有人说:加缓存!

你查询缓存几万次也慢啊。解决不了。 如何解决?前端后端一起,通过业务进行汇总。

啥意思呢?大家深挖业务语义,通过不同场景对数据进行分类,最后汇总出有效业务逻辑,实现性能提升。 人话:技术解决不了,基于业务来解

问题是:我进美团才多久,我对业务有多深的了解,你指望我通过业务来解,你直接杀了我得了。

业务两眼一抹黑

有人说:问啊。怎么问? 汇总了一下,有4个场景。

然后,主R表示,有5个场景,你还漏了1个。

去写if else分支就行了,基于这5个场景,写5套解决方案。 其中1、2是有XX参数的,基于XX参数给我解掉。3的话,可以尝试传XX参数进行解决,4通过传XX参数可以解,5解不了。 写。

哈?????????????????????????????????????

哈??44

于是,折腾了整整1天,写了20行代码。

代码一点都不复杂,但是问题是:这是代码量的问题嘛,谁知道这个业务逻辑???

真是让主R手把手的讲业务,讲完以后一行一行凑出来的。

和前端沟通

下一个问题更严重了:后端单独解不了,需要前端的协助。但是前端也不太懂业务逻辑。

他传错参数3次!!!

比如说,他把用户ID当成账号ID传进来了。

你要是问我,什么叫用户ID,什么叫账号ID,明明是一回事,我也难以用一句话来给你沟通,只能告诉前端:他们两个不一样,至于怎么不一样,我去问主R。

前端已经心态炸了:我没有这个参数。 于是我循循善诱:那么请问XX这个字段有没有?他:有的。 我:那就传这个参数,可以嘛??

你让我基于业务去解技术问题,我有个屁的业务经验

延期

于是,非常痛苦的延期。

谁XX通过业务来解技术问题啊

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
青碧凝霜
下载 APP