前端有必要懂业务逻辑吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
LeroyMooney
V2EX    程序员

前端有必要懂业务逻辑吗

  •  
  •   LeroyMooney 2019-11-02 10:28:11 +08:00 9393 次点击
    这是一个创建于 2170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    跟前端同事对接口,一个流程下来不同地方重复讲了好多次
    需求文档太乱,重新写了个流程图,前端同事不太想看
    是我要求太高了吗。。。

    62 条回复    2019-11-04 18:48:51 +08:00
    miniwade514
        1
    miniwade514  
       2019-11-02 10:31:58 +08:00 via iPhone
    你们公司所有前端都这样吗?是的话,换坑吧。
    只有这个人是这样的话,跟 leader 说你要换个人。
    q8164305
        2
    q8164305  
       2019-11-02 10:33:15 +08:00 via Android
    需要,最好是懂后端的,不然沟通起来真的很累
    samleong019
        3
    samleong019  
       2019-11-02 10:33:26 +08:00   1
    我是一般会了解整体业务流程,但对于不是自己负责联调的部分,就不太了解细节了
    你提到需求文档太乱,我估计也是一个原因,因为前端不像后端负责具体一些实现,文档乱的话就特别难受,还要自己去猜业务逻辑
    Foxkeh
        4
    Foxkeh  
       2019-11-02 10:33:50 +08:00 via iPhone
    要怎么办问主管啊哥。
    ChefIsAwesome
        5
    ChefIsAwesome  
       2019-11-02 10:40:45 +08:00
    有可能是消极抵抗,觉得文档乱就应该重写文档。
    geekc3t
        6
    geekc3t  
       2019-11-02 10:44:18 +08:00
    前端要是不懂逻辑页面怎么写? 前端最需要懂了
    Immortal
        7
    Immortal  
       2019-11-02 10:49:08 +08:00
    其实我觉得一个项目里的所有人都应该懂
    产品自然不用说
    开发当然得懂 不然就是按自己理解去做了
    测试也要懂 不然压根不知道测啥玩意儿
    vipcc
        8
    vipcc  
       2019-11-02 11:14:57 +08:00 via Android
    要解决的问题都不知道的前端,进步很难。
    和这种人才共事,团队效率提高很难。
    coderluan
        9
    coderluan  
       2019-11-02 12:17:25 +08:00
    不一定要多懂,但是你都给画了还不想看,那是单纯的人不行。
    15651980765
        10
    15651980765  
       2019-11-02 12:29:51 +08:00
    = =为啥我之前都是前端先了解业务逻辑,然后再跟后台要数据,后台压根不管业务逻辑,你要啥他就给啥。
    JulyDK
        11
    JulyDK  
       2019-11-02 12:57:33 +08:00
    @15651980765 感觉我们这边也是啊。。
    optional
        12
    optional  
       2019-11-02 13:00:18 +08:00 via iPhone
    我一般主张前端参与甚至主导接口设计
    yaoliyc
        13
    yaoliyc  
       2019-11-02 13:09:39 +08:00 via iPhone
    从前学到后,业务逻辑也是从前端开始,怎么能不知道。
    akakidz
        14
    akakidz  
       2019-11-02 13:19:30 +08:00 via Android
    @15651980765 我们公司也是...甚至每天的接口都报 500
        15
    GG668v26Fd55CP5W  
       2019-11-02 13:26:18 +08:00 via iPhone
    人的问题,对你有抵触而已
    GG668v26Fd55CP5W
    imn1
        16
    imn1  
       2019-11-02 13:27:27 +08:00
    JamesR
        17
    JamesR  
       2019-11-02 13:53:02 +08:00
    有的后端还得帮前端改 CSS,帮运维部署呢,哈哈。
    IsaacYoung
        18
    IsaacYoung  
       2019-11-02 13:54:00 +08:00
    ???不懂逻辑怎么写代码
    drydiy
        19
    drydiy  
       2019-11-02 14:01:38 +08:00
    不懂业务逻辑,前端怎么写交互?
    avichen
        20
    avichen  
       2019-11-02 14:31:15 +08:00
    所有的开发、测试都需要懂业务逻辑,不懂得话后面就是不停的填坑
    OSF2E
        21
    OSF2E  
       2019-11-02 14:49:10 +08:00
    客户(前端)点餐(根据视觉设计、动画设计、交互逻辑去请求对应的数据),餐馆老板(后端)不管客户具体点了什么就随便炒了俩菜端了上去(给什么数据、怎么给数据后端说了算,不仅如此,前端还要弄明白我是怎么把这些数据整出来的)
    dioxide
        22
    dioxide  
       2019-11-02 15:07:58 +08:00
    当然需要, 因为切图仔的时代已经过去了. 现在的前端要负责整个交互层的.
    darknoll
        23
    darknoll  
       2019-11-02 15:27:50 +08:00 via Android
    一个个要求这么高,让人前端把后端活也干了呗。
    ByZHkc3
        24
    ByZHkc3  
       2019-11-02 15:32:22 +08:00
    业务逻辑都不去了解的前端能叫前端?
    dfourc
        25
    dfourc  
       2019-11-02 15:39:40 +08:00
    业务不了解写个毛页面
    hyy1995
        26
    hyy1995  
       2019-11-02 18:17:00 +08:00
    不懂业务逻辑的前端,只是写静态页的页面仔,还停留在 10 几年之前好吧,这是人的问题,不是前端的问题。



    现在早都前后端分离了,前端的业务逻辑量不一定后端少。我是前端,工作 2 年半,一直在中小型公司工作,一个项目的业务逻辑前端最熟,而后端却不一定熟,都是前端说要给什么什么东西,后端接口就给了(楼上有一哥们也说过)
    hyy1995
        27
    hyy1995  
       2019-11-02 18:19:43 +08:00
    @15651980765
    +1,我是前端,工作 2 年半一直都是这样。感觉每个合作开发的后端都是被我牵着走的。。。说真的要不是现在很多后端人员还负责一部分的运维,我真觉得前端的工作量比后端要大。我们前端是 web 端和移动端都有开发,接口往往只需要写一套就够了,但前端的业务逻辑可不能用一套。
    dddz97
        28
    dddz97  
       2019-11-02 18:22:26 +08:00 via Android
    任何技术想往上走就一定要懂业务
    TradeMonster
        29
    TradeMonster  
       2019-11-02 21:08:39 +08:00
    不讲业务逻辑没法沟通啊
    而且开会产品经理不说业务逻辑说啥呢?只提要求?
    Juicpt
        30
    Juicpt  
       2019-11-02 21:23:50 +08:00
    前端需要懂业务逻辑嘛。。。。不是页面设计出来,或者产品告诉下需求就搞出来了么。。。。业务?前端需要管哪个字段从哪个表出来的么???? 不就是后台给前端数据,前端展示好,然后按照要求处理好再给后端么。。。。
    lihongjie0209
        31
    lihongjie0209  
       2019-11-02 22:05:40 +08:00
    必须要懂, 不懂的话写错了都不知道。 复杂点的页面涉及到多个接口, 有些展示元素是汇集多个接口的结果, 不懂业务, 不懂多个接口之间的关联 100%的出问题
    charlie21
        32
    charlie21  
       2019-11-02 22:13:59 +08:00
    问为什么了吗

    或许是刚失恋呢

    -
    also24
        33
    also24  
       2019-11-02 22:16:25 +08:00
    需要懂业务流程(即表面的功能流水)

    不强求但最好懂业务逻辑(即内部的数据流向,功能逻辑)
    zhuangzhuang1988
        34
    zhuangzhuang1988  
       2019-11-02 23:27:52 +08:00
    有原型图么?
    si3ren2
        35
    si3ren2  
       2019-11-02 23:41:47 +08:00
    怎么样都好,对项目流程应该需要知道的吧!和他说自己看原型图。
    zhw2590582
        36
    zhw2590582  
       2019-11-03 00:01:12 +08:00
    我只对自己负责的模块懂,其他模块不懂
    Dzinlife
        37
    Dzinlife  
       2019-11-03 01:40:20 +08:00
    前端真的不需要懂业务逻辑也能干活。

    当然这话大部分前端都不会同意,因为前端眼里的业务逻辑跟后端眼里的业务逻辑往往不是一回事。
    ericgui
        38
    ericgui  
       2019-11-03 04:01:21 +08:00
    不懂业务,怎么写出来对的代码呢
    weixiangzhe
        39
    weixiangzhe  
       2019-11-03 08:31:18 +08:00 via Android
    说真的 不懂,我公司之前做后台管理的和做 c 端前台的是两批人, 这样做 c 端的后台系统基本不用,每次数据都有找其他人配好,做的东西压根没有一个完整的环路 就只是一段工作,加上大体按原型图加 ui 图画个页面就完事了 不懂业务也能做下来。这个做完感觉团体归属感很弱,前端大体就变成了类似 ui 的资源层 甚至 ui 还更懂点业务
    IvanLi127
        40
    IvanLi127  
       2019-11-03 09:58:11 +08:00 via Android
    看情况,感觉要么前端主导, 要么后端主导。不过,个人感觉,最好的情况是 api 文档先落实。再结合详细需求和原型做,谁不懂业务也麻烦不到另一方
    hfpp2012
        41
    hfpp2012  
       2019-11-03 14:21:15 +08:00
    有必要呀,没坏处
    MrBrand
        42
    MrBrand  
       2019-11-04 09:36:10 +08:00
    现在公司没有需求文档的路过。。。。。。。坑的一批
    qwerthhusn
        43
    qwerthhusn  
       2019-11-04 09:43:44 +08:00
    有些前端就是这样,完全不考虑业务,唯一的依据就是接口和原型,调一下接口把数据填到页面上,字段对不上直接问你,能让你很恼火
    Socket
        44
    Socket  
       2019-11-04 09:47:16 +08:00
    知道为什么前端总是说在项目团队地位低,没话语权吗?因为前端抗拒懂业务,一个不懂业务的人除了当工具当资源应该没有别的了,并且前端自己还觉得挺好
    ceet
        45
    ceet  
       2019-11-04 10:22:07 +08:00
    @qwerthhusn api 文档上面的字段,从来都不对。比如我们公司,api 文档上登陆接口的用户名和密码分别是:username,passowrd。 实际需要传的是 account,pwd,k,v,time。 嘿嘿。问了就是你们按照 api 文档上来,然后不对就直接把实体类发给我们,让我们根据实体类弄好文档再自己用。 很有意思的
    muskill
        46
    muskill  
       2019-11-04 11:05:31 +08:00
    @Juicpt 不需要懂数据具体在数据库是怎么流转的,起码也要知道数据在页面的流转吧
    nianyu
        47
    nianyu  
       2019-11-04 11:43:59 +08:00
    哈哈 这就开始群魔乱舞了. 爱民大大曾经说过前端最好就别懂业务. 在座各位谁的级别比爱民高(曾经是目前阿里前端最高 p 玉伯的 leader)
    hmxxmh
        48
    hmxxmh  
       2019-11-04 11:47:31 +08:00
    @hyy1995 不懂就问,pc、移动端用一套 api,是不是要区分请求是来自 pc 的还是移动端的
    james122333
        49
    james122333  
       2019-11-04 12:42:15 +08:00
    看分工 一肩扛的肯定是要懂的
    chenliangngng
        50
    chenliangngng  
       2019-11-04 12:53:51 +08:00 via Android
    我觉得是不是大家都理解错了,是业务逻辑而不是业务?除掉一些重前端的项目,比如 webgl、工具插件类和动画游戏类,一个正常项目应该 9 成以上的业务逻辑都在后端,后端需要配合的时候拉前端对就行了,前端为什么要懂业务逻辑?
    业务是业务,业务逻辑是业务逻辑,前端要懂业务,但是没太大必要去搞懂业务逻辑
    Juicpt
        51
    Juicpt  
       2019-11-04 13:49:34 +08:00
    @muskill #46
    ....至少我现在待的项目里,前端是不需要知道数据在不同页面怎么流转的。。。。
    我刚开始还试着去理解这个数据在不同页面怎么流转的,了解业务。
    但后面这改动的,我是被业务绕进去了,索性放弃治疗
    然后发现不懂业务,对前端一点影响都没有,
    我只需要针对产品的要求,把页面布局搞好,页面需要的操作步骤搞出来就够了
    而且不同页面数据流动,对前端来说根本没必要去了解
    前端知道这数据在不同页面流动有啥意义么,
    是去配合测试,告诉测试怎么个流程去测么?
    还是项目上线,去当运营给用户培训?
    还是转产品,最后去设计流程?
    linZ
        52
    linZ  
       2019-11-04 14:15:15 +08:00
    @Juicpt 会出纰漏,然后让你改
    Juicpt
        53
    Juicpt  
       2019-11-04 14:20:56 +08:00
    @linZ #52
    纰漏?不存在的,数据都是后端逻辑,
    前端出问题就是前端自己代码有问题,还有就是当时产品设计的问题,
    产品设计问题,那就不算纰漏,那是需求不明确,当作新需求做了。。。。
    现在 bug 分配就算分到自己头上,
    查一下不是自己的,直接转手分到对应后端了....
    MiracleRo
        54
    MiracleRo  
       2019-11-04 15:51:17 +08:00
    程序员当然要懂业务逻辑 要不然自己做啥的都不知道
    linZ
        55
    linZ  
       2019-11-04 16:25:08 +08:00
    @Juicpt 产品流程都没考虑好,或者设计文档没写全,你没发现就坑到自己了呀
    Juicpt
        56
    Juicpt  
       2019-11-04 16:55:32 +08:00
    @linZ #55
    现在,除非是经过我手,我明确知道之前这个页面,哪个需求告诉我,这个地方确实不能动,
    然后,这个页面再次轮到我手里,另外产品要我改这一点,我会提出来。
    其余的,那就无所谓咯。
    只需要最后 UI,操作逻辑符合产品的要求就行
    反正领导意思都是先做出来再说,
    细节啥的,出了问题再说,
    我这个公司,反正是按照工作量说话的,
    还就不怕产品描述出问题要返工的。
    这样又不算 bug,扣不了我的绩效,又能增加工作量。
    坑? 坑是不存在的,就是一堆堆屎山,我只需要防止我拉的,别让屎山倒下来就好。。。


    另外,说真的,要坑,也是坑的后端。。
    业务需求不明确,那也是后端进行不下去,
    前端开局一张图,就结束了。
    这也可能是给企业做应用缘故。。。
    大体页面都是类似的。。根本没多少活动空间。。。
    除非整个操作逻辑,产品设计的有问题,
    否则,前端需要改啥?
    就改个字段,改个接口。
    根本就没啥工作量。。。
    muskill
        57
    muskill  
       2019-11-04 16:56:14 +08:00
    @Juicpt 别等到出问题,被甩锅了,你就明白了
    prof
        58
    prof  
       2019-11-04 17:05:04 +08:00
    我是安卓开发,我每次问后端业务逻辑他都是口头说,我建议业务逻辑还是画成流程图。
    Juicpt
        59
    Juicpt  
       2019-11-04 17:27:20 +08:00
    @muskill #57

    还真没有,
    甩锅是不存在的。。。

    我也挺好奇,是啥情况能能把锅甩到前端,前端还甩不出去,
    是字段对应不上?还是没做限制?还是我数据格式没处理好?

    需求文档没写好,那是产品事情,
    测试也是按照产品文档来测试的,也不会超出产品文档范围

    我也挺难理解,就是按照文档做的,怎么会被甩锅呢,
    产品文档有问题,那不是产品责任么。
    和我底下做程序的人有何关系,
    是我私自改了流程还是怎么了。


    前端不像后端,不了解业务就开发不下去,
    前端开发就是我要展示什么,操作逻辑是什么就够了,

    展示的数据是什么,这个操作逻辑有什么用,我寻思,我考虑不考虑都不影响我开发来着。
    Greendays
        60
    Greendays  
       2019-11-04 17:41:34 +08:00
    我觉得所有人都要懂,但是如果一定要挑出一个人不懂,那只能是前端了。。。
    GopherTT
        61
    GopherTT  
       2019-11-04 18:31:18 +08:00
    作为一个前端我只能说不需要完全懂
    sardine
        62
    sardine  
       2019-11-04 18:48:51 +08:00
    这不是应该重写需求文档么
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2743 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 11:43 PVG 19:43 LAX 04:43 JFK 07:43
    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