在工作中遇到了很恶心的需求该怎么办 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
bluebird007
V2EX    程序员

在工作中遇到了很恶心的需求该怎么办

  •  < href="Javascript:" Onclick="downVoteTopic(1102372);" class="vote">
  •   bluebird007 280 天前 5188 次点击
    这是一个创建于 280 天前的主题,其中的信息可能已经有所发展或是发生改变。

    职位是后端开发,最近的需求是将一个原本是前端完成的工作变为后端完成:前端轮询系统接口获取新增交易单后,根据一系列筛选条件过滤之后调用三方接口完成交易。产品需求是获取新增交易单后后端可以直接完成整个流程逻辑,对前端无感。产品想法很简单,但是对后端来说就很麻烦:我需要去看前端代码这一系列的筛选过滤条件的逻辑,以及调用三方接口的参数的组装逻辑。更麻烦的是前端一个 select 下的不同 option 可能对应着不同的逻辑,每一种逻辑的每一个步骤我都得保持一致;从前端轮询变成后端接收消息处理,后端接收消息进行处理,消息 QPS 相当高,对于性能要求很高。然而这也不是最恶心的,最恶心的是这个需求只能在 prod 来验证。

    来这个部门才不到一个月,这其中的核心逻辑都不甚清楚。评审会的时候更是人微言轻,主管只说先做先做,然后就开始排期。

    自从接了这个需求之后似乎就没怎么高兴的过过周末。脑子里一想到这个需求就好像有什么恶心的东西挂在背上,时不时刺你一下,但是你还甩不掉。。。

    33 条回复    2025-01-06 10:55:36 +08:00
    tool2dx
        1
    tool2dx  
       280 天前
    考虑写一套工具,把前端代码自动转译到后端兼容的代码。

    我是觉得维护两套相同逻辑的代码,是一件非常心累的事情。
    yoyoluck
        2
    yoyoluck  
       280 天前
    这个功能本就应该后端来做,之前由前端时间完全就是错的
    bluebird007
        3
    bluebird007  
    OP
       280 天前
    @tool2dx 有点难,像前端有一些数据是存在 localStorage 里面,我关注这个值的时候还得关注其他地方是不是可能修改了这个值。。。
    bluebird007
        4
    bluebird007  
    OP
       280 天前
    @yoyoluck 这个前端功能存在都几年了其实也不怎么用。前段时间业务不繁忙,产品找需求找到这块。刚好赶上我调过来部门。。。
    franswish
        5
    franswish  
       280 天前
    不看前端代码行不行……这玩意儿不应该根据需求做么
    hefish
        6
    hefish  
       280 天前
    不都说排期了嘛。。。。
    那肯定是 1 、不干了,谁爱干干去,然后天天摸鱼打游戏。。。
    2 、我干,我这不干着吗。。。。 然后天天摸鱼打游戏。。
    zzk037
        7
    zzk037  
       280 天前
    @yoyoluck 校验逻辑应该前后端都做吧,不然伪造请求不是直接能访问你业务逻辑
    bluebird007
        8
    bluebird007  
    OP
       280 天前
    @franswish 前端原本是一个设置页面,改为后端后也有一个设置页面。产品的需求就是跟之前的筛选逻辑一样
    bluebird007
        9
    bluebird007  
    OP
       280 天前
    @hefish 是这样想的,目前想的最好是拿了年终奖之后给我 n+1 了。但是就怕哪天彻底顶不住一冲动就主动辞职了,两个都没了
    sagaxu
        10
    sagaxu  
       280 天前
    这需求很常规啊,哪里恶心了。实在不想做,考虑花点钱外包出去。
    Erroad
        11
    Erroad  
       280 天前   1
    产品描述不清楚就不做,“和以前一样”不算需求,直接打回。
    chachi
        12
    chachi  
       280 天前
    这需求太正常不过了
    由前端完成才叫离谱
    bluebird007
        13
    bluebird007  
    OP
       280 天前
    需求站在产品的角度看是正常的,但是对于核心业务之前都没接触过的开发来说,要在短期内全搞懂相关的业务逻辑挺恶心。
    wanniwa
        14
    wanniwa  
       280 天前
    你系统设计的时候,没必要先开始写代码。先写文档整理原来的流程逻辑,拆解步骤,就正常拆,不懂就问前端或者懂的人,最终你产出一个完整的改造文档。这个时候你再着手去写逻辑。
    M003
        15
    M003  
       280 天前
    是你不懂现有业务啊,而不是需求恶心,这个需求很合理啊,目前是前端调用第三方下订单,然后再给后端处理?这坑多大了,前端调用第三方成功了,跟后端通讯失败了,那这个单子到底是有还是没有。。。。,现在只是优化。

    如果去做 一堆筛选项,不是变一个 select 就调后端,而是一堆选择完,才去点查询按钮去调接口。
    如果就要改一个 select 就去调数据,那就照做,卡也是别人卡。跟你有毛关系。 人微言轻就埋头苦干。
    thunderw
        16
    thunderw  
       280 天前
    只要工作量给够有啥恶心的。工作量给不够什么需求都恶心
    root71370
        17
    root71370  
       280 天前 via Android
    我考,兄弟我特别登录上来回复你,和我一模一样,部门合并后做产品提的需求,麻蛋,那复杂的业务逻辑我看都没看,就直接提需求让我上手做,而且还是一两句话那种,但其实逻辑特别复杂,我已经准备过完年拿完年终就走了,也不摆烂 主要是责任心比较那啥,摆烂自己也不舒服。唉
    bluebird007
        18
    bluebird007  
    OP
       280 天前
    @root71370 太懂了,需求工时都是不看工作量的。责任心就更折磨人,想摆烂但是不能快乐的摆,想做但是一打开公司的代码就恶心。。。
    chachi
        19
    chachi  
       280 天前   4
    原来是连业务都不想认真学习做薪水小偷,那你继续。
    lveye
        20
    lveye  
       280 天前   1
    恶心没啥用,不必内耗的。上边也给了很好的方案了,梳理文档和流程。然后就是要资源和时间了。有些时候简单的事没有意义,把这种你认为复杂的事情做好也是一种能力
    kaneg
        21
    kaneg  
       280 天前
    感觉主要原因是因为这个对你来说是个新项目,其实大多数人刚接触一个新项目都会有点抵触心理,尤其是单枪匹马的时候。
    等你过三个月到半年对这个项目熟悉了,你自然就可以游刃有余了。
    jasonkxs
        22
    jasonkxs  
       279 天前 via iPhone
    交易所吗
    zhengfan2016
        23
    zhengfan2016  
       279 天前 via Android
    @chachi 这种需求丢给前端做其实在小公司挺常见的,像我司的后端和老板是初中同学,它不想做的东西,就会让我们前端自己解决,那我们能怎么办,只能奉旨行事
    kafukwen
        24
    kafukwen  
       279 天前
    恶心的需求就写恶心的代码给他们,到时验收他们自己也不知道自己在验收啥,如果说你做错了那就可以开怼了。最重要的是不要让自己心烦。(这就是屎山代码的由来)( why so serious )
    dongruixuan
        25
    dongruixuan  
       279 天前
    "只能在 prod 来验证" 这个能录制下 prod 的流量,在测试环境回放吗?
    liuzhedash
        26
    liuzhedash  
       279 天前
    需求没啥问题啊,这个本来就应该后端做。
    对于前端各种筛选逻辑复杂上,有这么个思路:先不看前端代码,单纯做一些测试交易,然后拦截前端到三方接口的请求,列举出调用的各种参数组合。
    至于 QPS 高这个,你要相信前端轮询再怎么快也是个单线程,总快不过你后端 N 个核心打并发。
    prod 验证这件事是谁提需求谁支持,这种高风险的变更如果不在开发测试阶段拿出真金百利演习,到了生产部署就要大出血。
    0x0x
        27
    0x0x  
       279 天前 via iPhone
    这个很正常的需求吧。
    后端把前端需求改一遍,那就让现在负责前端的人把逻辑梳理清楚,出个文档。然后你对着文档重新写逻辑。

    没文档你去看代码重写、出了问题就是你背了
    irisdev
        28
    irisdev  
       279 天前
    还是刚来没有话语权,要我不梳理文档,把各种场景、条件梳理出来,我就不写
    flmn
        29
    flmn  
       279 天前
    这需求就该后端来做。别抱怨了,遇到问题解决问题吧。
    sampeng
        30
    sampeng  
       279 天前 via iPhone
    你既然拿着薪水,有什么资格说需求恶心?而且是个再正常不过的需求。在其位谋其职再正常不过吧?老大也没什么问题先做着安排工期,流程上都没什么问题。问题在你自己。不熟悉你自个儿不研究怪你自己不熟悉?再复杂的逻辑代码就在那,你只要要时间,会有人说不给你时间?
    xuanbg
        31
    xuanbg  
       278 天前
    很正常的需求,哪里恶心了?问题是产品没有把需求给你梳理清楚,而不是需求本身。
    Rehtt
        32
    Rehtt  
       277 天前 via Android
    你叫产品把需求逻辑捋清楚给需求文档给你
    skallz
        33
    skallz  
       277 天前
    @Rehtt 这种大概率是个历史债务,基本没人理得清,除了开发,开发也只能根据对应代码去总结对应功能和逻辑,我以前也接手过类似的需求,哈哈哈哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     875 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 20:37 PVG 04:37 LAX 13:37 JFK 16:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86