• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zuriaake
V2EX  ›  程序员

换了份新工作,我悟了

  •  2
     
  •   zuriaake ·
    floyd-li · Jun 25, 2023 · 18089 views
    This topic created in 1234 days ago, the information mentioned may be changed or developed.

    本月入职了一家新公司,看到项目的代码,我眼前一黑

    (至于其他的,比如中文做 key 名,一堆 if-else 不优化等等槽点太多的,就不贴了)

    (看了眼 git 提交记录,这段代码是前端组长一个人写的,并且是 Layout 中的代码,并非业务组件代码)

    如果放在三四年前,我可能会找前端组长讨论下重构的必要性(这个项目刚开始,不存在太多历史包袱)。

    但是现在 OP 已经三十岁了,坦率地讲对代码,尤其是前端代码的热情已经大不如前,丝毫不想碰原来的代码。只想着自己的代码写的稍微整洁一点,能不在自己的代码上拉太多的💩就好。

    PS 从我入职两个多礼拜的观察来看,工作目前看来也不怎么饱和,一个静态页面两个人安排了四天时间,和我一同进来的前端老哥已经闲到在自学 Java 了。

    虽然入职的时候被 HR 压了薪资,比之前的工资低了 20%,但是想了想现在的工作状态,觉得还算满意,钱多事少离家近目前看来已经占了后面两样,多点时间带薪学习、陪陪老婆孩子倒也挺好。

    现在让我焦虑的可能是工作状态太过于轻松,有点担心会不会某天被裁员……

    93 replies  •  2023-06-27 14:39:39 +08:00
    insanny
    insanny
    Jun 25, 2023❤️6
    1
    截图里面的代码都有哪些不合规的地方,vue 新手虚心请教一下
    silk
    silk
    Jun 25, 2023
    2
    升级遗留问题 或者 2.7 版本什么的。反正能用就行,主打的就是一个性价比
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    3
    @insanny compesition 和 options 写法混用,虽然可以这么写,但是看起来非常“不高级”,并且代码中没有任何地方是依赖于某一种特定写法的
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    4
    @silk 新项目,直接上的 v3 。虽然但是,又不是不能用.jpg (doge
    insanny
    insanny
    Jun 25, 2023
    5
    @taro0822 感谢
    sakae010
    sakae010
    Jun 25, 2023
    6
    什么主题
    tempw
    tempw
    Jun 25, 2023
    7
    想问下薪资范围多少
    amon
    amon
    Jun 25, 2023❤️1
    8
    一个很残酷的事实:代码绝大多数场景下都是能用就行。

    关于程序员的核心竞争力,你再品品。
    Xi
    Xi
    Jun 25, 2023❤️2
    9
    虽然工资不高,但是感觉你进对了公司
    brader
    brader
    Jun 25, 2023
    10
    这种问题,见多了就好了
    Bologna
    Bologna
    Jun 25, 2023
    11
    setup 写<script>里的写法最爽
    NGXDLK
    NGXDLK
    Jun 25, 2023❤️2
    12
    遗留代码,除非有把握,否则还是别动。
    而且就像 8 楼说的,中国的大部分公司的业务代码随便写写就行,垃圾代码多也就顺理成章。
    Daniel17
    Daniel17
    Jun 25, 2023
    13
    屎山如果不去碰,其实还行,但可怕的是你得在上面修改或者迁移
    Hilong
    Hilong
    Jun 25, 2023
    14
    现在我们都是 script setup 这种了. 写起来最舒服,不用写一堆的 options
    hnhhm2009
    hnhhm2009
    Jun 25, 2023
    15
    好奇位置和薪资
    beijinglowb
    beijinglowb
    Jun 25, 2023❤️1
    16
    钱多事少的代码就是好代码
    8355
    8355
    Jun 25, 2023
    17
    现在让我焦虑的可能是工作状态太过于轻松,有点担心会不会某天被裁员……

    你现在学 Java 不就是连演都不演了?让 hr 知道下一个就是你
    0n2ynu
    0n2ynu
    Jun 25, 2023
    18
    跟楼主基本一致. 拼音缩写的变量, 复制粘贴的函数, 一层套一层的 if else, 奇丑的审美.

    但工作比较闲, 公司也正规. 所以暂时在屎山里畅泳 --!
    milkv
    milkv
    Jun 25, 2023❤️1
    19
    这代码怎么了,又不是不能跑
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    20
    @sakae010 SynthWave '84 装完试试 Enable Neon Dreams 这个命令
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    21
    @amon 是的,自己也有一些往项目管理方向转的想法,慢慢来吧。
    israinbow
    israinbow
    Jun 25, 2023❤️16
    22
    老板: 你一定要把 "重构", "设计模式", "架构思想" 掌握好, 优秀的程序员写代码是艺术创造.
    我: 粪海狂蛆.jpg
    wu67
    wu67
    Jun 25, 2023
    23
    你这还好啦.
    我这里有几十个页面, 子组件直接改了父组件传进来的引用类型值, 当我发现这堆奇怪代码能按业务正常跑时, 心脏都跳快了几下...
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    24
    @hnhhm2009 坐标合肥,年包 20 不到。
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    25
    @Xi 嗯,我觉得也挺好,希望能在这渡过 35 岁危机吧
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    26
    @8355 学 Java 的是我隔壁的老哥,不是我……不过我也准备学学 Go 来着
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    27
    @NGXDLK 感同身受,并不是每家公司都千万日活百万并发,各种管理后台数据大屏才是大多数公司的日常,代码相对而言,没有人重要。
    zhuisui
    zhuisui
    Jun 25, 2023
    28
    不能说是新项目就可以上 v3 ,还要考虑已有同事的编码习惯问题。
    旧的语法写习惯了,换成新的也不容易。
    ZGame
    ZGame
    Jun 25, 2023
    29
    说到 if else 最近看到开源项目里函数式的处理方式,感觉有点溜。
    export function isInRange(limit?: ChartDataConfig['limit'], count: number = 0) {
    return cond(
    [isEmpty, true],
    [isNumerical, curry(isNumericEqual)(count)],
    [isPairArray, curry(isInPairArrayRange)(count)],
    )(limit, true);
    }
    zuriaake
    zuriaake
    OP
    Jun 25, 2023
    30
    @zhuisui 考虑团队开发习惯我能理解,但是我觉得吧,这个写法是不是得统一起来?哪怕统一成 options 写法呢。我的槽点主要是这两者混用,维护起来心智负担稍微高了一点……
    hackerdom
    hackerdom
    Jun 25, 2023
    31
    发给 chatgpt 让他来优化一下这种代码结构
    FakerLeung
    FakerLeung
    Jun 25, 2023
    32
    @taro0822 #20
    webstorm 有吗?好像搜不到
    lichdkimba
    lichdkimba
    Jun 25, 2023❤️1
    33
    这不就是 options 的写法吗……
    stkstkss
    stkstkss
    Jun 25, 2023 via iPhone
    34
    不用管 在这家公司躺平就行
    QlanQ
    QlanQ
    Jun 25, 2023
    35
    说说我吧,刚到这个新公司,来之前 技术部负责人说,他们有个 PHP 的项目,是找自己的朋友做的,试了试感觉可以做,现在想自己做
    然后我来了之后看了代码,就一个开源框架改的,框架还不更新了,然后他们直接在 vendor 里面改了,然后就是那代码我是看不下去了,项目没有上线的那种,然后我加班加点 用 1 个月时间重构了整个后端和后端的管理端
    前端的页面重新对接接口
    就这刚弄完,又接手了一个项目,yii 1.1 ,同样的烂,我已经不想在这公司待了,写这代码的人还觉得自己厉害的不行

    本着,对方的代码写的不咋样,可能在其他地方很厉害的呢,我就没敢怼

    真的是 low 就不说了,也不知道是自己不自知还是不承认,拽的跟 2 、5 、8w 似的

    这里说的代码不行,就不说设计模式那种争议性的东西了

    打开代码,ide 报一堆错,各种 n+1 ,各种变量为定义
    表设计,中间表冗余数据,直接拿来用,也不知道修改信息的时候,中间表咋办
    daokedao
    daokedao
    Jun 25, 2023
    36
    本就是公司的螺丝钉,非要打造成艺术品
    cirzear
    cirzear
    Jun 25, 2023❤️1
    37
    代码跟人,有一个能跑就行
    kkk9
    kkk9
    Jun 25, 2023
    38
    @QlanQ u1s1 ,不讲职业道德的提前下,应该在公司维护现有的,下班时间加班加点重做变现
    QlanQ
    QlanQ
    Jun 25, 2023
    39
    @kkk9 公司哪个项目让我修改,我是真下不去手,看着就难受,所以才重构的,公司也给我了 2 个月的时间
    wonderfulcxm
    wonderfulcxm
    Jun 25, 2023 via iPhone
    40
    你说得对,我也释怀了。
    tkHello
    tkHello
    Jun 25, 2023
    41
    代码没有喷点
    unicreators
    unicreators
    Jun 25, 2023
    42
    你这还好了,我这的一个神队友,基础服务里给你插业务代码,还是 if..else 打补丁那种。
    搞个多环境下的配置,明明可以多个配置文件打包时切就行,神友直接给塞一个配置文件里(环境前缀+键),在打包时给加了一个环境参数,程序运行时取到这个参数再去拼键找对应的值,所有用到配置的地方他都给改了一遍,看到那个 commit 我人傻了。。
    PungentSauce
    PungentSauce
    Jun 25, 2023❤️2
    43
    裁员的原因是公司不盈利,而不是你的忙与闲。
    daliusu
    daliusu
    Jun 25, 2023
    44
    你这代码不就是尤雨溪要的吗?给 vue3 留了那么大的两个 ts 的坑( props 和 emit ),就为了兼容这种写法,所以这么写有什么问题?
    wusheng0
    wusheng0
    Jun 25, 2023 via Android
    45
    @daliusu

    vue3 文档:
    > 你可以在一个选项式 API 的组件中通过 setup() 选项来使用组合式 API 。

    然而,我们只推荐你在一个已经基于选项式 API 开发了很久、但又需要和基于组合式 API 的新代码或是第三方库整合的项目中这样做。
    kungsun
    kungsun
    Jun 25, 2023
    46
    @PungentSauce 盈利都好说,不盈利亲爹都给你裁掉
    busfool
    busfool
    Jun 25, 2023
    47
    这都不是咱需要考虑太多的问题
    cnrting
    cnrting
    Jun 25, 2023 via iPhone
    48
    能挣钱的代码就是好代码
    Frankcox
    Frankcox
    Jun 25, 2023
    49
    @FakerLeung 应该只有 vscode 有
    NoKey
    NoKey
    Jun 25, 2023
    50
    一切,以负责人代码 review 合入为准
    你说啥,没有 review ,测试过了就合入?
    那管好自己就 ok 了
    hello826
    hello826
    Jun 25, 2023
    51
    @taro0822 老哥合肥哪里,我在合肥 kdxf ,也想换个事少的
    gyt95
    gyt95
    Jun 25, 2023
    52
    挺好的,有空还可以学一门后端语言,不论 Java 还是 Go 。前端未来是全栈。
    songray
    songray
    Jun 25, 2023
    53
    @taro0822 粗糙的写法心智负担是不高的,炫技心智负担才高....
    例如,虽然是新开的项目,但团队大多数都是 vue2 并没有学习 vue3 ,平滑一些也是好的做法,script setup 或者是 lang=tsx 还有直接 defineComponent 然后用 tsx ,现在的 vue 就是很拧巴很乱....
    如果是那种比较低级的项目,又不是不能跑,如果是高级的项目,反正都要 hack ,还谈什么心智负担呢...
    话说国内前端不管大小团队反正很少有 review.... 所以也没几家代码能称得上干净的。
    anaf
    anaf
    Jun 25, 2023
    54
    图中不是 vue2 的语法吗 有什么问题吗
    CoderLife
    CoderLife
    Jun 25, 2023
    55
    除非公司只有你一个开发....
    RRRSSS
    RRRSSS
    Jun 25, 2023
    56
    你三十才有这想法啊

    我刚工作一年的时候,就知道,代码能跑就好,重构什么,领导又看不见,有啥用。有时间自己学习,哪怕打打游戏都行
    Pastsong
    Pastsong
    Jun 26, 2023
    57
    程序员的核心竞争力不是你能够用最新最好的框架把老代码重构一遍
    XueHan
    XueHan
    Jun 26, 2023
    58
    工作久了就知道了,工作不是比技术多高级,而是是否能支撑业务稳定地运行,哪怕最垃圾的写法,只要能跑不出问题对老板而言就是好代码。
    tuomasi
    tuomasi
    Jun 26, 2023
    59
    现在还有心管别人代码整不整洁,还管 Vue 写的高不高端,30 岁了,不是小孩子了,给自己想条退路吧,别人写的一坨屎我都夸好,真棒
    ChenSino
    ChenSino
    Jun 26, 2023
    60
    哈哈“但是现在 OP 已经三十岁了,坦率地讲对代码,尤其是前端代码的热情已经大不如前,丝毫不想碰原来的代码。只想着自己的代码写的稍微整洁一点,能不在自己的代码上拉太多的💩就好。” 哈哈哈哈 很真实
    wangerka
    wangerka
    Jun 26, 2023
    61
    应该是原本用的 vue2 ,后来边学 vue3 边改了一版
    adgad2
    adgad2
    Jun 26, 2023
    62
    +1 ,以前还想着重构,现在就是在屎山上继续拉屎,又不是不能用

    清闲不加班有钱就行
    woshinide300yuan
    woshinide300yuan
    Jun 26, 2023
    63
    当然是带薪学习和顾及家庭了,嘻嘻。 什么代码不代码的,什么屎山不屎山的,只有小屁孩才会较真那些东西。能跑就行,代码就是用来跑的,不是用来看的, 哈哈。
    yjw239
    yjw239
    Jun 26, 2023
    64
    还行,个人觉得 vue 本身的锅更大些
    jenhe
    jenhe
    Jun 26, 2023❤️2
    65
    鄙视前辈,理解前辈,成为前辈
    ---引用 v 友
    horizon
    horizon
    Jun 26, 2023
    66
    @songray #53
    这不叫平滑,这叫垃圾。
    平滑是指旧组件用 vue2 ,新组件用 vue3 。
    lemon6
    lemon6
    Jun 26, 2023
    67
    这段代码有啥问题吗。。
    iloveayu
    iloveayu
    Jun 26, 2023
    68
    这代码能跑不(稳定别经常救火)
    这代码跑起来给公司生钱不(能支持给你开工资)
    如果都可以,那么,下一步:
    优雅地避开原来的屎,继续拉新的华丽得屎
    paopjian
    paopjian
    Jun 26, 2023
    69
    vue2 新人甚至看不懂" compesition 和 options "是啥, 搜了一下原来是 vue3 和 vue2 语法混用, 果然还是知识不足了啊
    iosqiao
    iosqiao
    Jun 26, 2023
    70
    外层代码看着结构还可以,敢不敢放出来详细的看看?
    istomyang
    istomyang
    Jun 26, 2023
    71
    原则:能跑就行,做好新代码隔离。
    Terry05
    Terry05
    Jun 26, 2023
    72
    历史代码能不碰就不碰,屎山代码总会有的,即使是认为自己是高度代码洁癖的人,隔一段时间回看自己的代码都会产生不适(当时我怎么想的,怎么就写成这鸟样了),新的模块,新项目,按照你自己觉得规范的方式来吧
    kamilic
    kamilic
    Jun 26, 2023
    73
    在业务优先时间优先的情况下,又没有专门的技术债修复时间,怎么可能没有屎山。
    只能套用《重构》说过的一句话,让自己经过的地方变得更好就行了。🥲
    lincanbin
    lincanbin
    Jun 26, 2023
    74
    能跑不要动
    Vegetable
    Vegetable
    Jun 26, 2023
    75
    vue 典型的千人千面, 缺乏最佳实践的指导. 我现在感觉组合式 API 在业务代码中及其容易失控, 下限是远低于 options 写法的.
    gadore
    gadore
    Jun 26, 2023
    76
    @Vegetable 你这显然是没有把 Vue3 推出的特性好好带到正式的项目中去实践。Vue3 解决了 Options Api 写法中最大的业务杂糅问题,通过 useHook 的写法各种业务可以相互隔离到各个不同的文件中去,让主体界面保持 UI 布局的简洁。是非常高明的设计,如果它没什么用,官方也不会推出的。
    当然了,OP 发出来的这段 Vue2 混写 Vue3 的杂交就更是如此了,属于是:我学了,但好像又什么都没学。
    部分大龄程序员在面对新技术的初期是这样的,包括我以及我的领导
    Vegetable
    Vegetable
    Jun 26, 2023
    77
    @gadore 这个设计确实很高明, 写法人容易学会, 但本身想用好这套东西需要的水平还是很高的. 而前端本身就缺乏统一的认识, 大家写出来的东西都不一样, 在一个文件里写完全部逻辑的大有人在
    gadore
    gadore
    Jun 26, 2023
    78
    @Vegetable 这倒是,上下限都太宽了,导致平均水准参差不齐,最关键是,还有“又不是不能用”派别的存在,这就让那些好好注意工程性、易用性的人所做的工作显得非常多余,也就导致了更多的人摆烂。不过有能力的人更多地会用别的办法提升自己。终究是会有用武之地的。
    horizon
    horizon
    Jun 26, 2023
    79
    @Vegetable #77
    别黑前端了。。前端程序员没这么 low
    uni
    uni
    Jun 26, 2023
    80
    确实眼前一黑,不过习惯了也就算了
    wmz000
    wmz000
    Jun 26, 2023
    81
    就我一个人看不见图么?
    zuriaake
    zuriaake
    OP
    Jun 26, 2023
    82
    @hello826 合肥就这么点大的地方,还是不暴公司了吧……
    goonxh
    goonxh
    Jun 26, 2023
    83
    hhhhh 我们一个写了五年的项目,中间从 vue2 升级到 vue3 ,现在一半 vue2 ,一半 vue3 ,想用什么写,就用什么写
    Natsuno
    Natsuno
    Jun 26, 2023
    84
    你一说合肥,我就理解了,正常现象(同合肥前端)
    lingeo
    lingeo
    Jun 26, 2023
    85
    我觉得 OP 的 IDE 配置让我眼前一黑,霓虹风格,看久了眼睛不痛吗?😂
    goodidea1
    goodidea1
    Jun 26, 2023
    86
    混写好难受,感觉跟看屎一样
    asmoker
    asmoker
    Jun 26, 2023
    87
    💩代码才能挣钱
    leroy20317
    leroy20317
    Jun 26, 2023
    88
    出问题就体现出价值了 你写的屎代码别人看一天都无从下手 你一来咔咔咔几下就搞定 老板:这小伙技术可以 一来就搞定问题了 得升职加薪 万一跑了就没人代替了 - _-
    ClericPy
    ClericPy
    Jun 26, 2023
    89
    如果你连前任都不如, 他们凭什么招你...
    NICE20991231
    NICE20991231
    Jun 27, 2023
    90
    不写这个 setup 还好,可以理解为喜欢 options api
    可是写了...
    labubu
    labubu
    Jun 27, 2023
    91
    刚毕业的时候对代码有精神洁癖,现在的想法是能跑就行,快点写完,早点摸鱼
    MEIerer
    MEIerer
    Jun 27, 2023
    92
    闲的工作万岁!推给我吧! doge
    wednesdayco
    wednesdayco
    Jun 27, 2023
    93
    笑死 我现在的公司全项目 vue2 升级 3 一堆大佬直接 copy 代码过来在 vue3 里直接跑
    我在旁边看着直接是 66666
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3909 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 339ms · UTC 09:45 · PVG 17:45 · LAX 01:45 · JFK 04:45
    ♥ Do have faith in what you're doing.