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

我不能一个人难受,想看看 V 友们公司逆天的代码

  •  2
     
  •   SwaggyMacro · Jul 30, 2025 · 32749 views
    This topic created in 288 days ago, the information mentioned may be changed or developed.

    我先来一张,在 Services 层里捕获异常弹出 MessageBox 。
    现在软件一运行,先弹 3 个对话框。
    此人的逆天程度远不止此,这只是一部分,今天更新完代码看到后我实在受不了了。

    SB

    280 replies    2025-08-08 14:21:53 +08:00
    1  2  3  
    ZanGVVB
        101
    ZanGVVB  
       Jul 30, 2025
    @olaloong byd 方法名起个 jjj 是啥意思?代码写的这么任性吗?
    doudou1523102
        102
    doudou1523102  
       Jul 30, 2025
    你交给 ai 分析,看能不能干蹦 ai
    Nich0la5
        103
    Nich0la5  
       Jul 30, 2025
    本来我对 ai 编程能取代人类抱有疑问的 看完这个贴释怀了,有的人是该被 ai 取代
    Greendays
        104
    Greendays  
       Jul 30, 2025
    @yhxx 这个一看就是 Excel 文档直接拼接出来的代码,一次性使用的话其实很方便。
    pointerman
        105
    pointerman  
       Jul 30, 2025   ❤️ 1
    能给你抛异常都不错了,你见过有异常悄悄 catch 掉,然后周末一堆人给他 debug 的吗
    zmqking
        106
    zmqking  
       Jul 30, 2025
    之前听过一句话说:傻子都可以写出机器能认得的逻辑,但让人能看得懂就是一门技术活了!!!
    tomatocici2333
        107
    tomatocici2333  
       Jul 30, 2025
    @GuoJikun #70 我也觉得是后端写得。。我也是怎么干的 copy 前端 改改
    yanguangs
        108
    yanguangs  
       Jul 30, 2025
    这起码都是在一个项目文件夹里面.

    我接手一个用 python 做全栈开发的项目.
    从不用 git, 一个项目能分出 3 4 个文件夹出来
    python 的依赖也不导出到 requirement.txt

    好比 java 用 Maven,但是不写 pom.xml
    前端不写 package.json 里面的 dependency

    不知道这些项目怎么没崩的.
    shanghai1943
        109
    shanghai1943  
       Jul 30, 2025   ❤️ 1
    @akakidz 不懂就问,这种判断条件,IDE 没提示吗?还是说这是文本编辑器。
    weixind
        110
    weixind  
       Jul 30, 2025
    @KikuCN

    不常见。明显应该是 if else 的语句,为啥不直接用 if else 。switch(true) 是一种非常别扭的语义。
    liuliuliuliu
        111
    liuliuliuliu  
    PRO
       Jul 30, 2025
    卧槽,这个帖子里包括楼主,竟然大概出现了 10 份左右的 C# 代码,全国所有的 C# 程序员都在这里了吧?
    ryan4290
        112
    ryan4290  
       Jul 30, 2025
    我昨天刚刚遇到一个问题,就是不知道为什么一个 UI 是好的,一个 UI 是坏的

    我看了一圈,原来是它固定死了,一个可以接受 2 行,一个可以接受 1 行……

    但是呢,这种事情呢,在人家身上就是轻飘飘的过去了;到了你呢,那就是要干你了……

    只要认头子当义父,什么都好说
    realpg
        113
    realpg  
    PRO
       Jul 30, 2025
    我作为架构的时候

    按照 V2 的标准

    我让很多人把 v2 推崇优雅代码改成了逆天的代码

    比如把简单语法改成了满屏幕的 if else/switch
    lxc404
        114
    lxc404  
       Jul 30, 2025
    @WELPHEN #101 结合上图,从方法 a,b,c...aa...aaa...jjj 一路排下来的。简直叹为观止
    leyuwangyou
        115
    leyuwangyou  
       Jul 30, 2025
    @weixind 我有时候会这样写,业务逻辑无法用 key 做策略模式的映射,又有多个条件的分支逻辑就会用 switch(true)替代 if ifelse ifelse
    anewbing
        116
    anewbing  
       Jul 30, 2025   ❤️ 1
    都这么浮躁吗
    代码不是比优雅比简洁
    比的是可靠运行
    subframe75361
        117
    subframe75361  
       Jul 30, 2025 via Android
    @weixind 说起来你可能不信,ts 官方专门优化了这个写法的类型推断
    yy306525121
        118
    yy306525121  
       Jul 30, 2025 via iPhone
    我们前一阵子有个 bug 让我修复,有一个修改用户名密码的功能,因为我们用户名密码在第三方系统,本地系统也做了个备份,代码是先更新本地库,然后再调用第三方接口,第三方接口返回修改密码失败的话直接提示用户修改失败
    lllllm
        119
    lllllm  
       Jul 30, 2025
    @Richared #63 我怀疑你监控了我的大脑,之前也是有个兄弟给我这样说,不仅出参,业务处理也是一堆 json 在那里循环,我还试图说服他,后面我直接说你过一周再来看你的代码🤡
    v2er119
        120
    v2er119  
       Jul 30, 2025   ❤️ 1
    大家扪心自问一下,这些重要吗? 每个人背景、反应快慢都是有差异的,有的差很大。卷这些小聪敏没有任何意义。
    如果我碰到这种情况,应该感觉他给我表现的机会(不是怼人),提升自己的机会,积累声望值的机会。
    Tink
        121
    Tink  
    PRO
       Jul 30, 2025
    @HeHeDaGe #8 多清晰呀
    KikuCN
        122
    KikuCN  
       Jul 30, 2025
    @weixind #110 就上面这种场景如果条件断点有很多呢,if-else 岂不是会一直嵌套下去,switch 结构更加清晰易读。
    switch (true) 确实是在 js 世界中挺常见的一种模式
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch#%E4%B8%80%E7%A7%8D%E6%9B%BF%E4%BB%A3_if...else_%E9%93%BE%E7%9A%84%E6%96%B9%E6%B3%95
    EeveeRibbon
        123
    EeveeRibbon  
       Jul 30, 2025
    华为基础设施监控数据接入标准,是按照测点名称(中文名)去定位测点的,根本就不传 ID ,真是活久见
    moyupai
        124
    moyupai  
       Jul 30, 2025
    @yhxx 学学政府的架构,数据库迁移,无数据库压力
    0n2ynu
        125
    0n2ynu  
       Jul 30, 2025
    public DataSet QueryLastRecord(string strWhere)
    {
    StringBuilder sb = new StringBuilder();
    sb.Append("select * from sec_alarm_infor ");
    sb.Append(" where time > '" + DateTime.Now.Date.ToString() + "' and time< '" +
    DateTime.Now.AddDays(1).Date.ToString() + "' ");
    if (strWhere != "")
    sb.Append(" and " + strWhere);
    sb.Append(" order by time desc");
    return DbHelperMySQL.Query(sb.ToString());
    }
    有这种代码逆天吗?每一个这样的查询,我都得先点进来看看 sql 查了什么,再退回去脑补串上 where 。关键是返回的 dataset 直接用,根本没定义对象,导致我下断点都不知道查了什么出来。。。
    way2create
        126
    way2create  
       Jul 30, 2025
    其实代码质量写的烂我可以忍 毕竟大部分人都是牛马 混口饭吃 估计水平高的看我写的也会觉得烂 然后看平台 公司要是没规范那估计肯定看个人了

    但是代码结构跟规范很重要,增加可读性很有必要,毕竟代码是给人维护的

    所以最恶心的还是那种古董 php 项目或者个别思想陈旧的 phper 自以为是写出来的,各种乱七八糟的,毫无规范,毫无可读性,各种恶心,跟自带混淆没什么区别了,一般让我维护这种我都想推了
    dododada
        127
    dododada  
       Jul 30, 2025
    我们的设备有点云处理,然后设备的工装载具坏了,机械和电气去调了一下,点云就开始报错了,电气和机械嘴硬讲不是他们的问题;

    然后我们就开始跟踪代码,发现算法处理有很多魔法数字,坐标系参数搞不清楚了,坐标偏移量不知道怎么来的,一开始的标定参数没有,标定块没有,想重新标定都不知道从哪儿下手。。。

    顺便问下有没有兄弟会的???
    qbmiller
        128
    qbmiller  
       Jul 30, 2025
    @akakidz 我喜欢
    moefishtang
        129
    moefishtang  
       Jul 30, 2025
    @MangK #48 什么倒反天罡😂
    qbmiller
        130
    qbmiller  
       Jul 30, 2025
    @lujiaxing #9 我也偶尔写,v1 v2 . 差不多意思,但参数不同,调用方不同,有时也不能改老的,就写新的了
    doug
        131
    doug  
       Jul 30, 2025
    @akakidz 哈哈哈哈 笑死我了
    qbmiller
        132
    qbmiller  
       Jul 30, 2025
    外包实际情况: 一个那么大项目,3 月内上线。前后端 + app + pc + 平台 + 管理 。 就是梭哈。
    还就几十万。
    其他所谓正式员工干也差不多。
    nzynzynzy
        133
    nzynzynzy  
       Jul 30, 2025
    @mccoymir #81 一看就是金蝶,这吊毛系统
    caocong
        134
    caocong  
       Jul 30, 2025
    newtype0092
        135
    newtype0092  
       Jul 30, 2025
    @fionasit007 #74 当然是把处理逻辑写到 finally 里啦
    p2007
        136
    p2007  
       Jul 30, 2025   ❤️ 1
    这帖子值得学习
    he1a2s0
        137
    he1a2s0  
       Jul 30, 2025
    @flytsuki NB 了。。这个 InsertAsync 里面的 await 调用的异常根本抛不出来吧
    gaoryrt
        138
    gaoryrt  
       Jul 30, 2025
    @Greendays #79 如果是锤子一体机语音输入,考虑到口音是正常的
    guanhui07
        139
    guanhui07  
       Jul 30, 2025 via iPhone
    C#程序员路过 同样在屎山里滚来滚去,能跑。。看着 15 年前的代码。。略悲伤 为了生活 忍吧
    imxiaoi
        140
    imxiaoi  
       Jul 30, 2025
    见过一次这种 cpp 代码 info.info.info = a
    tf2
        141
    tf2  
       Jul 30, 2025
    面向岗位安全编程
    Gilfoyle26
        142
    Gilfoyle26  
       Jul 30, 2025
    又不是不能跑
    mccoymir
        143
    mccoymir  
       Jul 30, 2025
    @lujiaxing #20 newnewnew
    mccoymir
        144
    mccoymir  
       Jul 30, 2025
    @nzynzynzy #133 🤝
    mccoymir
        145
    mccoymir  
       Jul 30, 2025
    qzhai
        146
    qzhai  
       Jul 30, 2025
    @weixind 这么写没啥毛病
    tinydancer
        147
    tinydancer  
       Jul 30, 2025
    @Greendays #79 这个是真的整笑了
    Xinu
        148
    Xinu  
       Jul 30, 2025
    @weixind #21 这个听常见的
    sunmker
        149
    sunmker  
       Jul 30, 2025
    C#+MessageBox.show 应该是客户端咯,客户端遇到问题直接弹提示,有什么问题嘛
    我们都是使用客户端的同事,遇到问题一截图,我查看弹出的错误描述,全局查找关键词+用户描述 快速定位解决问题的
    NjcyNzMzNDQ3
        150
    NjcyNzMzNDQ3  
       Jul 30, 2025
    代码和人有一个能跑就行,一般熬不到一个正常的软件生命周期 😭
    archxm
        151
    archxm  
       Jul 30, 2025
    又不是不能跑
    NessajCN
        152
    NessajCN  
       Jul 30, 2025
    手搓哈希表,然后每次存数据前 while 一遍整个表看有没有重复
    https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/
    SchwarzeR
        153
    SchwarzeR  
       Jul 30, 2025
    @olaloong #81 人工 webpack 这一块
    JieS
        154
    JieS  
       Jul 30, 2025
    有趣
    juzicoder
        155
    juzicoder  
       Jul 30, 2025
    我的天啊,都是些什么代码哦
    jonty
        156
    jonty  
       Jul 30, 2025
    @Siriusie #43 我司也有一些 c++里 system(mount)的操作。我一直以为这是正常操作。。没想到看到你这个 rm -r
    89adc64
        157
    89adc64  
       Jul 30, 2025
    @wysnxzm #38 没解耦
    chendadaover
        158
    chendadaover  
       Jul 30, 2025
    ![sb1]( https://imgur.com/Q2l1y0j)
    ![sb2]( https://imgur.com/hfbDVeV)
    随便贴两个吧, 改她的东西血压升高
    iture
        159
    iture  
       Jul 30, 2025
    ![1723X2034/屏幕截图_2025-07-30_135311.png]( https://tc.z.wiki/autoupload/f/sUlJOXGd_GeNUDpGNE1-PzX0eKoFFAJO3Z9uRsnE2Z6yl5f0KlZfm6UsKj-HyTuv/20250730/eo6b/1723X2034/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE_2025-07-30_135311.png)

    你们以为是什么都没有,但实际上是文件末尾的空行 👍
    SwaggyMacro
        160
    SwaggyMacro  
    OP
       Jul 30, 2025
    @sq955 是的,违背单一职责,会跟 View 层耦合,并且可测试性、灵活性都大幅降低。
    SwaggyMacro
        161
    SwaggyMacro  
    OP
       Jul 30, 2025
    @z1645444 哈哈哈哈哈哈。

    一会儿没看,这么多回复了,这下看爽了。
    SwaggyMacro
        162
    SwaggyMacro  
    OP
       Jul 30, 2025
    @MangK 神人
    sunrain
        163
    sunrain  
       Jul 30, 2025
    请求参数,下面还有一坨,截不全。
    DYINA
        164
    DYINA  
       Jul 30, 2025
    我遇到这些情况都安慰自己,他这么写一定有他的道理
    SwaggyMacro
        165
    SwaggyMacro  
    OP
       Jul 30, 2025
    @iture KPI 拉满了
    SwaggyMacro
        166
    SwaggyMacro  
    OP
       Jul 30, 2025   ❤️ 1
    @sunmker 没问题,但这是 Service 层,这里捕获到的异常应该直接抛出让下一级捕获或者写日志,或者干脆不 try catch ,让异常向上传播
    liu7say
        167
    liu7say  
       Jul 30, 2025
    @AokiNet #22 遇到过类似的,是以 id 作为表单的 prop,人都看麻了
    sthwrong
        168
    sthwrong  
       Jul 30, 2025
    @DYINA #164 这叫做 pua 自己
    lujiaxing
        169
    lujiaxing  
       Jul 30, 2025
    @sunmker 不做遥测, 不写日志, 就 MessageBox.Show. 别人手快一点就关了. 发生了什么具体哪里报错鬼知道. 真正给客户用的软件是不能这么搞的
    MENGKE
        170
    MENGKE  
       Jul 30, 2025
    @weixind #21 这个完全没问题
    shakaraka
        171
    shakaraka  
    PRO
       Jul 30, 2025
    @weixind #21

    这种是很常用的,在很多场景下比 if 更合适。
    R0n1n
        172
    R0n1n  
       Jul 30, 2025

    第一眼恁是没明白过来他是要取这个 xml 节点的 text
    lujiaxing
        173
    lujiaxing  
       Jul 30, 2025
    @sunmker 而且说有时候即便是异常 Message 弹出来, 即便是客户有那个耐心给你截了个图, 也是不够的. 因为很多情况下抛出来的 Exception 只会告诉你 "发生了异常, 详情请见 InnerException ". 这时候这种弹框跟直接吃 Exception 是没多大区别的
    zed1018
        174
    zed1018  
       Jul 30, 2025
    @wysnxzm 虽然但是,我就假定你这个是 spring 了,spring 高版本官方推荐就是 constructor injection ,之前写字段注入的时候,在 IDEA 里都会 warning 让改。所以 IDEA 也会给快捷的方法增加,或者用 Lombok 或者干脆换 kotlin 。
    xiangran0028
        175
    xiangran0028  
       Jul 30, 2025   ❤️ 2
    我第一次看到这么长的函数
    Immortal
        176
    Immortal  
       Jul 30, 2025
    @JieS #154
    可能键盘下划线坏掉了
    xiejay97
        177
    xiejay97  
       Jul 30, 2025
    @weixind 我不清楚具体代码,但这还真是高级用法,代替 `if...else`。
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch#examples
    最后一个例子也可以看到
    mcdull619
        178
    mcdull619  
       Jul 30, 2025
    @MangK 看了这么多,你这个逻辑最逆天。。。
    a33291
        179
    a33291  
       Jul 30, 2025
    lyxeno
        180
    lyxeno  
       Jul 30, 2025
    @54xavier 很有美感了
    kaedea
        181
    kaedea  
       Jul 30, 2025 via Android
    fuck 习奥秘
    DT37
        182
    DT37  
       Jul 30, 2025
    代码写的差,为什么就要被嘲笑啊,还要被贴出来鞭打。改掉不就好了? 谁一开始就写好了? 我就是那个 catch 里面写 业务逻辑 和 返回消息的人。讲清楚改掉不就行了?
    spritecn
        183
    spritecn  
       Jul 30, 2025
    @54xavier 刚入行时写的代码,不都长这样...

    @duan602728596 后端懒得新开个 VO

    @olaloong java8 之后就没 groovy 什么事了

    @satoru 今天接阿里的翻译,SDK 所有方法返回都是逼 try 异常,连 result.get 都是..不整个 try 起来总不能一行 try 一个,阿里这邦架构师真害人不浅
    gowk
        184
    gowk  
       Jul 30, 2025
    这个贴简直就是奇葩程序员奇观大赏
    simo
        185
    simo  
       Jul 30, 2025   ❤️ 2
    挺想看这个问题改成『晒出你自己的屎山代码,挑最 sb 的一段秀出来』,看看有几个勇士。
    如果有,我会随机从代码库截取一段,稳拿第一。
    如果不信,我会随机截取三段,稳坐三甲。
    gzldc
        186
    gzldc  
       Jul 30, 2025   ❤️ 3
    破防了 发现自己代码了,又不敢直接艾特
    gzldc
        187
    gzldc  
       Jul 30, 2025
    @simo 秀儿
    GoRoad
        188
    GoRoad  
       Jul 30, 2025
    貌似不止一个当事人出现在帖子内了
    yanxin1111
        189
    yanxin1111  
       Jul 30, 2025
    我代码写的不够烂的话你有理由说这活不需要维护嘛
    Geon97
        190
    Geon97  
       Jul 30, 2025
    @lujiaxing #9 之前我还以为是梗,今天见识到了。本帖最佳非你莫属了
    SeAl80s
        191
    SeAl80s  
       Jul 30, 2025
    这帖子有点长,我去拿点瓜子、饮料、矿泉水,慢慢看
    tim9527
        192
    tim9527  
       Jul 30, 2025
    上任代码被我删了,他的代码咋说呢,就是解析传感器数据,4 个变量给我写 H J K L ,我看了一天没看懂,恼火到了极点直接删除了
    nuo7mi7
        193
    nuo7mi7  
       Jul 30, 2025
    @shanghai1943 #109 AI 说:原代码看起来像是多个不同开发者的代码片段被随意拼接在一起,没有经过认真审查

    可能大家都知道就是不改,能跑不就行了
    Rat3
        194
    Rat3  
       Jul 30, 2025
    我发现贴 Java 烂代码的比较少
    xingzhi95
        195
    xingzhi95  
       Jul 30, 2025
    坏人绞尽脑汁不如蠢人灵机一动 ![嘻嘻]( )
    ThinkCat
        196
    ThinkCat  
       Jul 30, 2025
    @olaloong #82 源码自带混淆,是个高手
    sqlman
        197
    sqlman  
       Jul 30, 2025
    看了一圈,给我笑死了🤣
    Debugoho
        198
    Debugoho  
       Jul 30, 2025

    还在缓慢增长
    jspatrick
        199
    jspatrick  
       Jul 30, 2025
    @weixind #21 这样写还有一个好处,编辑器可以直接折叠整个 switch 的代码块,if-else 就要额外操作了
    IMengXin
        200
    IMengXin  
       Jul 30, 2025
    1  2  3  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3235 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 220ms · UTC 13:31 · PVG 21:31 · LAX 06:31 · JFK 09:31
    ♥ Do have faith in what you're doing.