V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ChefIsAwesome

吐槽下前端烂代码

  •  
  •   ChefIsAwesome · Mar 12, 2022 · 4340 views
    This topic created in 1514 days ago, the information mentioned may be changed or developed.

    获取了这样的一个数据:

    	
        data: {
        	foo: {
            	bar,
            },
        }
    

    接着他把这数据传给组件。传的是 foo 的数据,字段名却写成了 bar 。

    
    	<Component :bar="foo" />  
    
    

    接下里他写了好几十个组件,全都这么干。this.bar.bar 这样的写法频频出现,他也无所谓,破罐子破摔了。

    我这是造了多大的孽,才得来重构这种鬼东西。

    25 replies    2024-10-15 14:23:18 +08:00
    neutrinos
        1
    neutrinos  
       Mar 12, 2022 via iPhone
    老板听到重构就觉得你在摸鱼
    gouflv
        2
    gouflv  
       Mar 12, 2022 via iPhone
    说实话,我自己写的 vue 项目,都不太敢重构
    EPr2hh6LADQWqRVH
        3
    EPr2hh6LADQWqRVH  
       Mar 12, 2022 via Android
    这几个框架层层盘剥,前端的可维护性简直就是笑话
    EPr2hh6LADQWqRVH
        4
    EPr2hh6LADQWqRVH  
       Mar 12, 2022 via Android   ❤️ 2
    前端最常见的维护手段就是整体重写,重写之后等着过两年再次重写
    tonytonychopper
        5
    tonytonychopper  
       Mar 12, 2022
    说明了 lint 和 cr 的重要性= =
    shakaraka
        6
    shakaraka  
    PRO
       Mar 12, 2022
    没有类型就是这个样子
    vivipure
        7
    vivipure  
       Mar 12, 2022
    项目开发 code review 还是有必要的
    kunkunzhang
        8
    kunkunzhang  
       Mar 12, 2022
    一定要 cr ,条件允许的话一个 pr/mr 最好两个人以上 cr 通过再合,大家互相纠正,为了保证代码质量也为了一起进步
    hhjswf
        9
    hhjswf  
       Mar 12, 2022 via Android
    前端有什么重构的必要吗
    wu67
        10
    wu67  
       Mar 12, 2022
    讲真, 如果不是公用组件, 其实根本不用管太多, 因为说不定下周就改了, 或者写完丢上去就再也不会动了, 思考简直浪费时间, 在老板面前也讨不到好...

    个人认为只有反复 /多处使用的的公共组件才有规划和重构的需要, 至于其他的, 能把数据逻辑和命名捋清就行
    liyang5945
        11
    liyang5945  
       Mar 12, 2022   ❤️ 1
    让你见识见识我司大神的代码
    Terminator0826
        12
    Terminator0826  
       Mar 13, 2022 via Android
    this.爸.爸 🌝
    yanqing07
        13
    yanqing07  
       Mar 13, 2022
    @liyang5945 看起来是 jQ 时代的产物。如果是那个时代的代码,我觉得可以理解。那时候没有 lodash ,没有 filter/map/reduce 这些大家都是层层循环的多
    liyang5945
        14
    liyang5945  
       Mar 13, 2022
    @yanqing07 #13 是 jq 时代的没错,但是到 2020 年他仍然在写这种代码,真的恶心人
    darkengine
        15
    darkengine  
       Mar 13, 2022
    如果是完全接手了,用 IDE 给重命名了吧,不然不知道啥时候一个没注意就出 bug 了
    kingjpa
        16
    kingjpa  
       Mar 13, 2022
    @liyang5945 糟糕,这代码是我喜欢的风格
    cszchen
        17
    cszchen  
       Mar 13, 2022 via iPhone
    @liyang5945 糟糕,是心动的感觉
    liyang5945
        18
    liyang5945  
       Mar 13, 2022   ❤️ 1

    @kingjpa #16
    @cszchen #17 再来一点,注意行号
    kingjpa
        19
    kingjpa  
       Mar 13, 2022
    @liyang5945 我收回我说的话
    langzibuhuishou
        20
    langzibuhuishou  
       Mar 13, 2022
    只会一点点前端,看了楼上截图的代码。带入场景,如果是自己接手的话,已经开始头疼恶心了。
    luffy
        21
    luffy  
       Mar 13, 2022
    我猜猜:

    1. 楼主大概率在 996 类型的公司
    2. 应该是民企
    3. 这个职位的前端面试,应该不会面系统设计
    4. 这个项目应该也没开始多久,时间不长
    5. 项目经理或者 leader 应该不关心代码质量,更关心进度
    6. 你们应该没有 code review 机制
    7. 老板不关心技术好坏
    8. 团队内应该没有高手
    9. 团队氛围应该基本没有


    不知道猜中几条
    darkengine
        22
    darkengine  
       Mar 13, 2022
    @liyang5945 #18 这种莫名其妙的缩写,如果没有需求文档(大概率没有)估计得对着后端接口源码才能搞懂是要干啥。。。
    jones2000
        23
    jones2000  
       Mar 14, 2022
    一个函数超200行就需要重构
    一个函数里面循环嵌套>2就需要重构
    一段代码在4地方以上重复出现,就需要移到公共库里。

    大家都是混口饭吃,能跑通就行了,毕竟都是公司项目,代码是属于公司的,拿一天钱干一天活。如果是自己的产品应该就不会这么搞了,毕竟是自己混饭吃的东西了。
    ChefIsAwesome
        24
    ChefIsAwesome  
    OP
       Mar 14, 2022
    @darkengine 我这一堆 if (flag) 的代码。flag 是啥意思怕是永远也不知道了,好在即使这么写影响也不大。
    supuwoerc
        25
    supuwoerc  
       Oct 15, 2024
    @liyang5945 糟糕,是心梗的感觉!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2514 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 04:29 · PVG 12:29 · LAX 21:29 · JFK 00:29
    ♥ Do have faith in what you're doing.