V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Patrick6
V2EX  ›  Vue.js

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

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

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

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

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

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

    其实这种情况非常正常,大部分人接手别人的代码,都不会去大改甚至不怎么改,然后要实现新的功能就必定只增不减了。
    winglight2016
        95
    winglight2016  
       260 天前
    @Jinnrry #58 MySQL 不支持这么长的 sql 吧?
    liyer
        96
    liyer  
       260 天前
    1 万行代码和 1 万个.vue ,选哪个?
    Patrick6
        97
    Patrick6  
    OP
       260 天前 via Android
    @liyer 我选择跑路之前多加几千行注释了的代码
    zeroDev
        98
    zeroDev  
       260 天前
    @Patrick6 #10 那说明你们专业的前端已经跑了
    jones2000
        99
    jones2000  
       260 天前
    @crocoBaby 我一个 js 文件都能有几万行。
    xwwsxp
        100
    xwwsxp  
       260 天前
    @jones2000 前端不是 tree shaking 吗?所以,拆分小文件不是基操吗?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:05 · PVG 06:05 · LAX 14:05 · JFK 17:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.