V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Askeladdwindland
V2EX  ›  职场话题

公司的项目太烂了,有点难以坚持下去了怎么办

  •  1
     
  •   Askeladdwindland · 53 天前 · 5870 次点击
    这是一个创建于 53 天前的主题,其中的信息可能已经有所发展或是发生改变。

    入职一家公司挺久了,福利待遇挺不错也不加班,但是公司代码是我经验不足没见过世面,还是就是这么烂,假如说拿阿里巴巴开发手册去纠错,代码里没多少能过的。代码里出现的错误可能连实习的大学生都不会犯。遇到的问题包括但不限于:

    1. 不正确的使用 springboot 的 bean ,居然到处都有 new xxxController 这种东西
    2. 用了事务注解还用 try-catch ,catch 了不抛异常有时甚至不在控制台打印异常,遇到所有可能 null exception 的地方直接 try-catch 一把梭,只要报错不显示给用户就是没错
    3. 所有的接口返回的数据居然是用 SQL 查询再用 SQL 里 JSON 相关的函数组合而成,而且所有页面的数据都是一次性返回全部,假如你要点击一个条目看详细那个是上次接口一起返回的并没有实时去请求,并且这造成所有 SQL 的都无比冗长,我每次都要复制 SQL 到 format SQL 的网站格式化一次再细细看,太折磨了
    4. 不规范的开发流程,每次有 bug 了也不带详细说明也不带请求的数据,开发新功能更是直接抛从来没有详细考虑过
    5. 以及业务代码全写 contorller 层,分层不明确,缺少结果类等等...

    Q: 你没有向上级反馈过吗

    A: 我有,这个项目是和国外小组一起开发的,而这边就我一个人,我反馈给我国内的上级他们也不懂,而他们把这事情给告诉主要负责的国外小组后,给我的答复是开发紧任务重主要图个演示,且是自家项目这样搞没事也说了后面会改,且这样容易搞的我和国外负责的人很僵就再也没提过了

    Q:提过情况的后来呢

    A:照样很烂,没有一个功能是可以达成原本要求的,只要用户稍微细细测试下就崩,而在国外的老总很生气说到处都是报错,要这一段时间把所有报错全部修完,但这项目真的不可能修完不如全部重构,到处都是问题,在上面加新的功能都难,代码超级耦合

    现在我真的工作起来很难受,本来 HR 也说过会再招但几个月了都没新人,我想着多个新人向上级提国外开发国外的我们这边独立重新搞一个,而且多一个人也能多一个人认同我觉得代码稀烂的观点,不然搞得我跟刺头一样。每天都是硬着头皮上班,感觉也学不到东西,每天外国佬应付老总,我也只能尽我力保证我写的地方没有那么烂。希望大家能给我一些开导或者建议,谢谢各位了

    54 条回复    2024-11-10 00:31:07 +08:00
    JoeDH
        1
    JoeDH  
       53 天前
    向钱看,代码能解决问题就好
    catwalk
        2
    catwalk  
       53 天前
    如果有余粮,可以考虑退出,如果余粮不够,为钱看齐,再找机会。现在不好找工作,即使想换工作,还是做一些准备,手上有筹码再解决这事。

    我容忍不了阻碍发展的所有事情,因为生命本身有限,在有限的生命里,我选择更有意义或者自己喜欢的事情。
    GooMS
        3
    GooMS  
       53 天前
    坐和放宽,自己改到哪里就重构到哪里
    kk2syc
        4
    kk2syc  
       53 天前   ❤️ 22
    1. 对入职前的代码尊重,不论是神仙代码还是屎山代码,至少它赚钱了,不然也轮不到你入职。
    2. 对入职前的代码感恩,你可以试着重构,不能就加入其中,也许前任也是这样干的,但是他没成功,于是机会轮到你了。
    3. 你上班的目的是赚钱,公司聘请你的目的是赚钱,一切运转向钱看齐,你代码写得再好看再牛逼,没赚钱也是废品。
    zeropercenthappy
        5
    zeropercenthappy  
       53 天前   ❤️ 21
    在职的时候怒气值高,各种讽刺挖苦;
    走人的时候暗自庆幸;
    两年以后忽然从这个傻逼系统得到灵感(或者教训),颇有感慨;
    三年后后悔维护的时候自己抱怨太多,而行动太少;
    五年后意识到自己怒气值高的原因不是因为系统傻逼,而是自己驾驭不了;
    八年后再次需要维护“傻逼”系统;
    十年后方才领悟,“这个世界的本质是混乱不可知,而非有序可测”;
    甚至技术新旧的界限也开始模糊;
    其实是,自己不够谦虚敬畏;
    sagaxu
        6
    sagaxu  
       53 天前
    “入职一家公司挺久了,福利待遇挺不错也不加班”,跨国公司,“主要图个演示”

    你到底想怎样!
    IamLostInCoding
        7
    IamLostInCoding  
       52 天前 via iPhone
    我们现在想搞 AI 生成整个项目的代码替代程序员也很难受😣
    zhangyou1010
        8
    zhangyou1010  
       52 天前   ❤️ 1
    能正常发工资的公司都是好公司
    cccvno1
        9
    cccvno1  
       52 天前
    [福利待遇挺不错也不加班] 对于工作来讲这就够了。
    别迷信那些规范,大部分小项目天天来回给屎山搞这个规范那个规范就是找死,上级看的是产出,不是代码质量
    inker
        10
    inker  
       52 天前 via Android
    你自己建个团队,和老外的项目拆开,比如,模块 A 你做,模块 B 他们做,出问题也好看出来谁的锅
    zjsxwc
        11
    zjsxwc  
       52 天前
    作为 crud boy 我完全不在乎老代码如何,是否是屎山,

    现在 crud boy 上班日常内容就是,

    用豆包等 ai 工具整理产品需求描述为我需要的文本格式 a.txt ,

    用我写的代码生成器脚本,根据 a.txt 来生成业务代码,

    稍微修改下业务代码,复制黏贴,完成任务,下班。
    zx9481
        12
    zx9481  
       52 天前
    java 吗
    zx9481
        13
    zx9481  
       52 天前
    @zjsxwc 代码生成器求推荐
    WuOtto
        14
    WuOtto  
       52 天前
    很难评
    zjsxwc
        15
    zjsxwc  
       52 天前
    @zx9481 #13 任何能处理文本的编程语言都行啊,自己根据项目来写代码生成模板
    zhtyytg
        16
    zhtyytg  
       52 天前
    @zeropercenthappy 短短三年,我竟走完了全流程。难道我真是个天才?
    opentrade
        17
    opentrade  
       52 天前
    naive
    wuhanchu
        18
    wuhanchu  
       52 天前
    写好自己的代码,其他人的代码,能不看,就当自己瞎了。
    你会发现去哪个公司都是一样的。
    cookii
        19
    cookii  
       52 天前 via Android
    哪都一样,没有最烂只有更烂。好的团队可遇不可求
    napsterwu
        20
    napsterwu  
       52 天前 via iPhone
    为什么有人可以在屎一样混乱的几千行代码里加功能?不重构能驾驭屎山吗
    https://www.zhihu.com/question/497344549/answer/2215116962
    foreverfuck
        21
    foreverfuck  
       52 天前
    这行情,不用纠结屎山代码
    jimrok
        22
    jimrok  
       52 天前
    交付优先于代码整洁,这个业务要是能持续挣钱,后面自然会有人来炸屎山。屎山在炸掉之前,还有另外的作用,培养你末日生存的能力。
    shylockhg
        23
    shylockhg  
       52 天前
    你提了就是你的锅
    Jokesy
        24
    Jokesy  
       52 天前
    @zhtyytg 自信点,把难道去掉😀
    potatowish
        25
    potatowish  
       52 天前 via iPhone
    你成立个公司,找个开发伙伴把这个活接了,重构项目
    panxi
        26
    panxi  
       52 天前
    我觉得我们中大部分人还是没懂一个道理, 代码是体现商业价值的, 要有商业转换价值才有意义, 至于内里多垃圾, 没所屌谓
    harryWebb
        27
    harryWebb  
       52 天前
    我觉得挺好,等你真的遇到那种规范的团队,你也会感觉烦得很,一直都是搞些有的没的规则限制你

    还不如瞎几把写算了,能跑就行,屎山又咋样,能赚钱的代码就是好代码

    不能赚钱的代码再好也是高处不胜寒
    WillBeethoven
        28
    WillBeethoven  
       52 天前
    Working Effectively with Legacy Code
    https://book.douban.com/subject/1428943/
    luosilent
        29
    luosilent  
       52 天前
    程序员思维就是老想着重构,看不顺眼就觉得是屎山。如果你打算躺平之后,你就发现多点时间忙自己的事情,摸鱼或者副业或者提升其他方面技能跳槽。公司的任务按时完成就行了,至于老项目技术架构混乱、代码不规范等问题,能跑就行了,还指望学什么东西,大部分人在工作之后都是吃老本做一些 curd 。
    stone9527
        30
    stone9527  
       52 天前
    1.改变他人
    2.改变自己
    3.改变环境
    meteor957
        31
    meteor957  
       52 天前
    理解 op ,我现在接手的一个前端屎山,每次改需求和改 bug 都是折磨。每天花时间最多的不是解决问题,是找问题。
    weiaichongfeng
        32
    weiaichongfeng  
       52 天前
    你工作没几年吧?
    iOCZS
        33
    iOCZS  
       52 天前
    理想主义者的地牢
    whywei8
        34
    whywei8  
       52 天前   ❤️ 1
    辞职前,把失业的 V 友介绍进去。算做个好事。
    jerry10086
        35
    jerry10086  
       52 天前
    只要开的工资到位,我可以在屎山上“窜稀”
    csys
        36
    csys  
       52 天前
    之前听黄子华的一个段子,大意是公司发的工资有一部分其实是你上班的“医疗费/精神损失补偿”……
    shaozelin030405
        37
    shaozelin030405  
       52 天前
    是印度小组吗哈哈哈哈
    EastLord
        38
    EastLord  
       52 天前
    要么走,要么忍,其实很多公司的代码结构都不好,很多不符合规范
    youyouzi
        39
    youyouzi  
       52 天前
    人和代码,有一个能 run 就行
    whywei8
        40
    whywei8  
       52 天前
    @jerry10086 哈哈,就算给你一个干净的茅坑,时间久了之后(不论你自我感觉 多好),接手的人看你写的也是屎山
    ruandao
        41
    ruandao  
       52 天前
    1. (业务) 搞清楚,哪些是你们的核心能力,优先在核心能力的功能上进行质量保障,要不然容易在不重要的地方花费精力,投入没有足够的回报的话,就是浪费,无法持续下去
    2.1. (技术) springboot 的话,控制反转 和 依赖注入用起来,这个是基础(解决耦合的基石),有了这个基础的话,可以在逐步的把核心代码抽离到单独的类里面,这样的话,就可以添加测试,逐个模块的确保正确性
    2.2. (技术)代码这么糟糕,TDD 是没有时间可能性的了,但是可以试试 BDD ,加测试的好处是,将来改动的时候,单元测试一跑就知道破坏到旧的业务了,可以马上把影响给纠正下,你可以想想下,一个功能,提测然后 QA 告诉你出问题,你再重新改重新提测要花多少时间。
    不过当前会付出额外的时间成本
    3 (权衡)分层、面向对象设计和 DDD 之类的要不要整起来,就看你负责的业务的价值,业务价值高,就会希望质量也高,想要质量高,必须避免面条式代码(面条式代码当前大多不会有 bug ,但是一次次迭代的过程中,就会有 bug )
    ColdBird
        42
    ColdBird  
       52 天前
    没事,我们这里的代码也是一坨狗屎,commit 的记录里都是 feat:0,feat:1 这种呢,有啥好说的?
    Akitora
        43
    Akitora  
       52 天前
    学到了,原来大家是这么驾驭💩️山的
    xiaoHuaJia
        44
    xiaoHuaJia  
       52 天前
    写什么代码不是代码,干嘛内耗自己。想要精进方法千千万,干嘛跟自己精神身体过不去
    daiisdai
        45
    daiisdai  
       52 天前 via Android
    如果工作不累,待遇不错,有什么好抱怨的,能赚钱的业务就是好的业务,不能赚钱代码也得再好有什么用呢
    antli
        46
    antli  
       52 天前
    啥也不说,外包给我,双赢。
    jsonparse
        47
    jsonparse  
       52 天前
    写到最后都是屎山,除非重投入严把关强监督
    freezebreze
        48
    freezebreze  
       52 天前
    看开源项目源码也就图一乐,真学技术还得是重构屎山,
    JShen
        49
    JShen  
       52 天前
    有的屎山高了,写代码写不动,改也改不动,并且很容易出 BUG ,面对需求无从下手,自己害怕,测试也害怕,领导也害怕。这种时候,炸屎山的时机来了。
    verta
        50
    verta  
       52 天前
    @zhtyytg 你天干
    behindeye
        51
    behindeye  
       52 天前
    年轻人要接受这个世界的不完美,理想与现实往往相差甚远,我相信几年后,会被现实击碎理想主义,我们构想的、认为的、主张的,会一次次在各种不确定性,而妥协
    zerovoid
        52
    zerovoid  
       51 天前 via Android
    你是去学习的还是上班的,大部分人上班时间都不能提升自己,如果为了钱,烂就烂呗,能跑就行,你又不是架构师,如果想提升自己,那就换工作了。
    maigebaoer
        53
    maigebaoer  
       51 天前 via Android
    这才是经过效益考验的代码,项目应该还可以。
    kingfighters
        54
    kingfighters  
       51 天前
    几年前加入过一家类似的公司:用 svn ,没有测试,也不打算写,也没有 cicd ,也不打算搞,上线就基本都要回滚。。目测这鸟项目要黄了,跑。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1117 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:29 · PVG 02:29 · LAX 10:29 · JFK 13:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.