前端萌新想问一下,我看公司单个 vue 页面超过了一万行代码,这是什么概念? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Patrick6
V2EX    Vue.js

前端萌新想问一下,我看公司单个 vue 页面超过了一万行代码,这是什么概念?

  •  
  •   Patrick6
    patrick12138 2024-04-12 09:12:50 +08:00 22951 次点击
    这是一个创建于 601 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2024-04-12 09:50:08 +08:00
    还有它注释掉的代码比写的还要多
    状态管理 vuex 都不用,等等
    第 2 条附言    2024-04-12 11:05:53 +08:00
    就在刚刚,新来的前端跟我说他要跑路了,我不会还要面对这个代码直到下一个前端来吧
    157 条回复    2024-04-16 17:29:44 +08:00
    1  2  
    hefish
        1
    hefish  
       2024-04-12 09:15:02 +08:00
    别说 1 万行,2 万行又怎样? 又不是不能跑。。。
    VVVYGD
        2
    VVVYGD  
       2024-04-12 09:15:41 +08:00   8
    @hefish 是的,程序跟人只要一个能跑就行
    Hopetree
        3
    Hopetree  
       2024-04-12 09:17:03 +08:00   1
    又不是一个函数一万行,不要慌。。。
    cvooc
        4
    cvooc  
       2024-04-12 09:17:12 +08:00
    屎山 跑啊
    QTMrk9fHFk8sFyi3
        5
    QTMrk9fHFk8sFyi3  
       2024-04-12 09:17:25 +08:00
    有啥概念? 新手开发吗? 那你后面会有更多的见识
    feiwu1203
        6
    feiwu1203  
       2024-04-12 09:17:56 +08:00
    后端的我想笑
    cheese
        7
    cheese  
       2024-04-12 09:18:23 +08:00   18
    刚打开以为是我公司,想了想,最近没有新招人
    test4zhou
        8
    test4zhou  
       2024-04-12 09:18:41 +08:00
    纯垃圾,我接手维护过这样的页面,全都是写轮眼。很多能单独抽取出来的工具函数都写在一个文件里
    LandCruiser
        9
    LandCruiser  
       2024-04-12 09:18:43 +08:00
    哈哈哈,意味着启动项目要很久,而且会经常内存溢出。
    不过能混饭吃,哪怕 10 万行也无所谓,估工时你多估就行了,想跳槽就看面试题。
    Patrick6
        10
    Patrick6  
    OP
       2024-04-12 09:19:59 +08:00 via Android
    @uudaoshi 不是,我是后端的,我只是稍微接手写一下而已
    chenliangngng
        11
    chenliangngng  
       2024-04-12 09:20:44 +08:00
    见怪不怪?
    duanxianze
        12
    duanxianze  
       2024-04-12 09:21:55 +08:00
    管他呢 能跑就行
    wu67
        13
    wu67  
       2024-04-12 09:22:46 +08:00
    能跑就慢慢重构呗.

    我之前改过一个 4 千多行接近 5 千的, 也是头疼. 不过他没有格式化代码的, 一大坨一行飘过那种, 格式化一下估计有 7 到 8 千.

    另一个极端是那种疯狂拆分文件的, 明明一个文件写个 4 到 5 百行不过分, 偏要拆成 7 个, 从十几行到一百来行不等, 整个项目都是这种模式, 调试和改需求的时候痛苦的要死, 疯狂跳来跳去点点点...
    crocoBaby
        14
    crocoBaby  
       2024-04-12 09:23:15 +08:00
    单文件大于 1000 行都是屎山,除非页面交互逻辑真的很复杂
    Perry
        15
    Perry  
       2024-04-12 09:23:50 +08:00 via iPhone
    这是垃圾管理环境下程序员自保行为,要不是屎山做完他可以直接被裁换大学生维护了。
    leroy20317
        16
    leroy20317  
       2024-04-12 09:24:22 +08:00
    把回车空格去掉就没一万行啦
    ZGame
        17
    ZGame  
       2024-04-12 09:25:43 +08:00
    意大利面条代码可读性其实还好, 主要是丑,和改的时候可能需要改的地方比较多
    BeiChuanAlex
        18
    BeiChuanAlex  
       2024-04-12 09:26:55 +08:00   1
    按照过去的以及前辈们的经验,这种代码最好不要想着重构它!!!!!
    sloknyyz
        19
    sloknyyz  
       2024-04-12 09:31:50 +08:00
    太正常了,程序员要学会在屎山上拉屎,这是基本功。
    shunia
        20
    shunia  
       2024-04-12 09:31:53 +08:00
    什么概念?之前经手的开发人员都非常的稳重!
    Patrick6
        21
    Patrick6  
    OP
       2024-04-12 09:32:09 +08:00 via Android
    @Perry 笑死,我就是类似那个大学生维护,我还是后端
    Patrick6
        22
    Patrick6  
    OP
       2024-04-12 09:35:16 +08:00 via Android
    @wu67 我不会重构,毕竟我只是短暂接手,但原来这种事情这么常见那我就放心了
    Aruok
        23
    Aruok  
       2024-04-12 09:35:21 +08:00
    这时候就体现出你的重要性了, 直接重构了...
    felixlong
        24
    felixlong  
       2024-04-12 09:37:58 +08:00
    @Patrick6 上一个是被裁了?自保没成功?
    Patrick6
        25
    Patrick6  
    OP
       2024-04-12 09:40:08 +08:00 via Android
    @felixlong 被逼退了,每个星期给一大堆需求强制加班
    /td>
    hellodigua
        26
    hellodigua  
       2024-04-12 09:40:35 +08:00
    说明你要是搞懂,并且维护的只有你一个人能搞懂,你就是公司不可或缺的一员了[doge]
    bugmaker1024
        27
    bugmaker1024  
       2024-04-12 09:41:54 +08:00
    又不是不能跑.jpg
    94
        28
    94  
       2024-04-12 09:41:56 +08:00   2
    之前在张鑫旭那边看到的

    94
        29
    94  
       2024-04-12 09:43:26 +08:00
    kidult
        30
    kidult  
       2024-04-12 09:45:18 +08:00
    几万行的 jsp 也不是不能跑,easy~
    Patrick6
        31
    Patrick6  
    OP
       2024-04-12 09:49:21 +08:00 via Android
    @ZGame 不止呀,它注释掉的代码比能用的还要多,折磨
    dapaoge
        32
    dapaoge  
       2024-04-12 09:49:46 +08:00
    能跑就行啊, 这不工作量不就来啦.
    wgbx
        33
    wgbx  
       2024-04-12 09:55:48 +08:00
    这种代码需要先运行一下 npx eslint **/*.vue --fix 净化一下
    adimn
        34
    adimn  
       2024-04-12 09:59:44 +08:00
    还好是前端。400 多行的 sql 呢
    sunwang
        35
    sunwang  
       2024-04-12 10:00:26 +08:00
    最开始学习编程,觉得一个文件写 1w 行很 nb ,现在来看大概率是屎山
    Patrick6
        36
    Patrick6  
    OP
       2024-04-12 10:01:55 +08:00
    @wgbx #33 谢邀,并没有 eslint 这种东西
    justfindu
        37
    justfindu  
       2024-04-12 10:02:37 +08:00
    万一注释掉的以后还要用呢 别管他了 加入他
    Patrick6
        38
    Patrick6  
    OP
       2024-04-12 10:04:28 +08:00
    @justfindu #37 是的,我保留了注释的代码,这样才能让后面的人知道这个页面有多厉害
    facebook47
        39
    facebook47  
       2024-04-12 10:09:38 +08:00 via Android
    @wu67 估计是 Java 程序猿写的
    unco020511
        40
    unco020511  
       2024-04-12 10:09:58 +08:00
    业务只要能跑起来就行,1 万行又怎样?
    lawsiki
        41
    lawsiki  
       2024-04-12 10:13:59 +08:00
    我们前端的有一个 vue 文件 2.2w 行
    blur1119
        42
    blur1119  
       2024-04-12 10:14:37 +08:00
    屎山概念,我也只维护过 5000 行 react 代码,你这比我还夸张。逻辑最好你一点都别动
    cwliang
        43
    cwliang  
       2024-04-12 10:15:30 +08:00
    传说中的防御型编程?
    rabt
        44
    rabt  
       2024-04-12 10:15:36 +08:00   5
    注释多,有一种可能,说明需求改来改去的,反复无常留着备用
    xwwsxp
        45
    xwwsxp  
       2024-04-12 10:15:56 +08:00
    这个没办法,Vue 2.x 就因为这样的原因,尤 才力推组合式 API 的。
    datadump
        46
    datadump  
       2024-04-12 10:16:16 +08:00
    想学习下大师的防御型编程
    cirzear
        47
    cirzear  
       2024-04-12 10:16:34 +08:00
    随随便便几千行
    MaxJin
        48
    MaxJin  
       2024-04-12 10:16:52 +08:00
    小问题,项目催的紧,你封装组件又要花更长时间,一直催一直加,最开始是没时间拆分,到后面自己也不想动了。
    tomatocici2333
        49
    tomatocici2333  
       2024-04-12 10:19:42 +08:00
    = = 业务赚不赚钱才是王道,不赚钱你写得再好也没用
    Patrick6
        50
    Patrick6  
    OP
       2024-04-12 10:20:09 +08:00 via Android
    @lawsiki 还有高手?
    Patrick6
        51
    Patrick6  
    OP
       2024-04-12 10:20:30 +08:00 via Android
    @MaxJin 说的有道理,我感觉是这样的
    ColdBird
        52
    ColdBird  
       2024-04-12 10:23:18 +08:00
    我的评价是一坨狗屎,前面说封装组件要花更长时间。。。。。。。。。。。
    难道你都写在一起能省时间吗。。。。。。。。。。。。。。。。。
    maplelin
        53
    maplelin  
       2024-04-12 10:23:47 +08:00
    又不是不能用.jpg
    cherishwinner334
        54
    cherishwinner334  
       2024-04-12 10:24:21 +08:00
    @facebook47 过分了啊
    Patrick6
        55
    Patrick6  
    OP
       2024-04-12 10:26:34 +08:00
    @ColdBird #52 这个也是,我加功能加的我头皮发麻,我很害怕下手,毕竟我只是临时前端
    wweerrgtc
        56
    wweerrgtc  
       2024-04-12 10:29:24 +08:00
    等什么时候 GPT 可以一次输入输出 1 万行, 就可以拯救这些项目了
    wweerrgtc
        57
    wweerrgtc  
       2024-04-12 10:33:07 +08:00
    我这也有 1 万多行的项目, 时不时再加点代码, 优化一下
    Jinnrry
        58
    Jinnrry  
       2024-04-12 10:37:34 +08:00   3
    你这算啥,1 万多行的 SQL 见过吗
    LavaC
        59
    LavaC  
       2024-04-12 10:38:53 +08:00
    不知道是不是业务不够复杂,我写出来的 vue 文件普遍在 500 行以内,极端情况也就 1000 左右,写这么多行,对滚轮都是种折磨。
    Patrick6
        60
    Patrick6  
    OP
       2024-04-12 10:40:17 +08:00 via Android
    @LavaC 我想念我的无极滚轮了
    tonytonychopper
        61
    tonytonychopper  
       2024-04-12 10:40:23 +08:00
    业务在快速迭代,并且不重视代码质量的情况下,多少行都正常
    Patrick6
        62
    Patrick6  
    OP
       2024-04-12 10:40:35 +08:00 via Android
    mljpre
        63
    mljpre  
       2024-04-12 10:41:01 +08:00
    一万多行的 vuex 我见过
    LieEar
        64
    LieEar  
       2024-04-12 10:43:05 +08:00   1
    我觉得这些都还好,最难以接受的是没有文档,需要自己从头看一遍代码...
    wusheng0
        65
    wusheng0  
       2024-04-12 10:43:38 +08:00 via Android
    超过 500 行就会感觉不太合适,
    超过 1000 行就有点痛苦(来回滚动,或者开两个窗口)
    LavaC
        66
    LavaC  
       2024-04-12 10:43:51 +08:00
    @Patrick6 #60 真,无极滚轮是我写代码后用过最好的鼠标功能,而且还是得 master 上那种自动变模式的,g 系列那种单独按钮切换的还不行。
    Patrick6
        67
    Patrick6  
    OP
       2024-04-12 10:46:14 +08:00 via Android
    @LieEar 是的,你怎么知道我就是没文档没注释,硬写呢
    hauibojek
        68
    hauibojek  
       2024-04-12 10:46:16 +08:00
    感觉业务代码超过 1000 行就够恶心了 这一万的不敢想。
    zmqking
        69
    zmqking  
       2024-04-12 10:46:39 +08:00
    @Jinnrry #58 这个维护起来简直是灾难
    kujio
        70
    kujio  
       2024-04-12 10:47:09 +08:00
    @ma836323493 之前写过好多条超过一千行的 SQL 语句,是单条的 SQL 语句,
    clue
        71
    clue  
       2024-04-12 10:49:32 +08:00
    这不把代码屠一遍?
    要是以后还要自己改, 就趁早边做需求边重构, 要不然最后这一坨还是自己吃
    Patrick6
        72
    Patrick6  
    OP
       2024-04-12 10:51:08 +08:00 via Android
    @clue 这倒不用,我只需要给回新来的前端就行了,后面我可不敢再碰了
    chenjunyue520
        73
    chenjunyue520  
       2024-04-12 10:52:40 +08:00
    @LieEar 有文档,但文档是旧的,
    lihexinkai
        74
    lihexinkai  
       2024-04-12 10:54:40 +08:00
    这个 vscode 打开会很卡吧
    Patrick6
        75
    Patrick6  
    OP
       2024-04-12 10:56:17 +08:00 via Android
    @lihexinkai 我用的 webstorm ,还好卡倒不卡,我只能说确实能跑
    aliyun2017
        76
    aliyun2017  
       2024-04-12 10:56:31 +08:00
    都是项目逐渐缩减人力,维护者也可能经历了 N 多,最保险的方案就是在这里继续堆积,抽离封装再细致再合理也只是在项目初建团队,一个项目最初有 10 人,到中期 5 个人,到最后维护可能就 1 个人,所以有需求就赶快整完交货; vuex 不用它能正常交互能跑 说明这页面也用不上这玩意,不是用了就很厉害,有些是为了用而用,为了偷懒 简单的子父组件都能给它上了;
    ytmsdy
        77
    ytmsdy  
       2024-04-12 10:58:12 +08:00   1
    大惊小怪,我 TMD 还见过一个 2000 多行的存储过程呢!
    单单把里面的逻辑理清楚,我都快花了一个礼拜,然后用了快两个礼拜的时间改那玩意儿,一个礼拜的时间测试。
    月底写工作总结的时候,就一句,这个月改了一个存储过程。
    Jinnrry
    &nsp;   78
    Jinnrry  
       2024-04-12 10:59:54 +08:00
    @zmqking #69 维护就直接把以前的一万行代码当成子查询,继续加 join ,分分钟又多千八百行
    UN2758
        79
    UN2758  
       2024-04-12 11:02:00 +08:00
    1w3 行的 py 代码见过没,我见过
    lategege
        80
    lategege  
       2024-04-12 11:03:00 +08:00
    防御性编程- -!建议再加上一万行~
    beginor
        81
    beginor  
       2024-04-12 11:03:30 +08:00
    @Jinnrry 我也在这样的公司带过, 很多业务写在 sql 中, 存储过程都有几千行上万行,甚至还在 sql 中调用 xml/json/com , 想想就酸爽。
    x86
        82
    x86  
       2024-04-12 11:05:04 +08:00
    主动防御型编程
    xsonglive491
        83
    xsonglive491  
       2024-04-12 11:08:39 +08:00
    每个组件都很相似但是又各种不同,倒是想封装
    roundgis
        84
    roundgis  
       2024-04-12 11:11:32 +08:00 via Android
    @Hopetree 以前一系 一函 9000 多行
    sivl6p
        85
    sivl6p  
       2024-04-12 11:12:37 +08:00   1
    程序员三境界
    害怕屎山,初级工程师
    理解屎山,中级工程师
    成为屎山,高级工程师
    LightofHeven
        86
    LightofHeven  
       2024-04-12 11:18:20 +08:00
    13 年 java 工程打包报错了 提示 一个类超过 65535 行
    simo
        87
    simo  
       2024-04-12 11:21:55 +08:00
    挺好的,一个人不可或缺有时候是因为无意识的代码混淆。
    前段时间,一个老同事说,负责的大项目刚做完上线,公司要裁他了。公司动脉 p 事没有,他反正要吐血了
    Xu3Xan89YsA7oP64
        88
    Xu3Xan89YsA7oP64  
       2024-04-12 11:22:52 +08:00
    丢给 gpt 重构啊
    IvanLi127
        89
    IvanLi127  
       2024-04-12 11:23:37 +08:00
    或许是人员流动性大的体现?
    freezebreze
        90
    freezebreze  
       2024-04-12 11:33:06 +08:00
    以后简历 项目亮点可以写上 拆分了单个 1 万行的组件,优化 XXX ,复用 XXXX 提升 XXX /写上 但是你不要真做 哈哈
    devzhaoyou
        91
    devzhaoyou  
       2024-04-12 11:34:26 +08:00
    @leroy20317 好家伙,空格去掉还能跑么
    19cm
        92
    19cm  
       2024-04-12 11:38:35 +08:00
    @shizhibuyu2023 你可以试试,按我的测试,gpt 最多一次弄 300 行
    yzlren
        93
    yzlren  
       2024-04-12 11:39:51 +08:00
    @xwwsxp 有没有想过一个问题,组合式 api 也是可以不用的,不会写代码的人推组合式 api 也是白推
    TomCN
        94
    TomCN  
       2024-04-12 11:50:57 +08:00
    我自己写代码几乎不会有文件代码上千行,包括注释。

    之前我接手过一些代码,单个文件 4000 多行,其中一半多是从来没调用过的方法,完全可以删除的。

    其实这种情况非常正常,大部分人接手别人的代码,都不会去大改甚至不怎么改,然后要实现新的功能就必定只增不减了。
    winglight2016
        95
    winglight2016  
       2024-04-12 11:58:00 +08:00
    @Jinnrry #58 MySQL 不支持这么长的 sql 吧?
    liyer
        96
    liyer  
       2024-04-12 12:01:02 +08:00
    1 万行代码和 1 万个.vue ,选哪个?
    Patrick6
        97
    Patrick6  
    OP
       2024-04-12 12:05:24 +08:00 via Android
    @liyer 我选择跑路之前多加几千行注释了的代码
    zeroDev
        98
    zeroDev  
       2024-04-12 12:06:26 +08:00
    @Patrick6 #10 那说明你们专业的前端已经跑了
    jones2000
        99
    jones2000  
       2024-04-12 12:11:15 +08:00
    @crocoBaby 我一个 js 文件都能有几万行。
    xwwsxp
        100
    xwwsxp  
       2024-04-12 12:17:36 +08:00
    @jones2000 前端不是 tree shaking 吗?所以,拆分小文件不是基操吗?
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1293 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 17:16 PVG 01:16 LAX 09:16 JFK 12:16
    Do have faith in what you're doing.
    ubao msn 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