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

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

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

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

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

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

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

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

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

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

    按照 V2 的标准

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

    比如把简单语法改成了满屏幕的 if else/switch
    lxc404
    lxc404
    Jul 30, 2025
    114
    @WELPHEN #101 结合上图,从方法 a,b,c...aa...aaa...jjj 一路排下来的。简直叹为观止
    leyuwangyou
    leyuwangyou
    Jul 30, 2025
    115
    @weixind 我有时候会这样写,业务逻辑无法用 key 做策略模式的映射,又有多个条件的分支逻辑就会用 switch(true)替代 if ifelse ifelse
    anewbing
    anewbing
    Jul 30, 2025❤️1
    116
    都这么浮躁吗
    代码不是比优雅比简洁
    比的是可靠运行
    subframe75361
    subframe75361
    Jul 30, 2025 via Android
    117
    @weixind 说起来你可能不信,ts 官方专门优化了这个写法的类型推断
    yy306525121
    yy306525121
    Jul 30, 2025 via iPhone
    118
    我们前一阵子有个 bug 让我修复,有一个修改用户名密码的功能,因为我们用户名密码在第三方系统,本地系统也做了个备份,代码是先更新本地库,然后再调用第三方接口,第三方接口返回修改密码失败的话直接提示用户修改失败
    lllllm
    lllllm
    Jul 30, 2025
    119
    @Richared #63 我怀疑你监控了我的大脑,之前也是有个兄弟给我这样说,不仅出参,业务处理也是一堆 json 在那里循环,我还试图说服他,后面我直接说你过一周再来看你的代码🤡
    v2er119
    v2er119
    Jul 30, 2025❤️1
    120
    大家扪心自问一下,这些重要吗? 每个人背景、反应快慢都是有差异的,有的差很大。卷这些小聪敏没有任何意义。
    如果我碰到这种情况,应该感觉他给我表现的机会(不是怼人),提升自己的机会,积累声望值的机会。
    Tink
    Tink
    Jul 30, 2025
    121
    @HeHeDaGe #8 多清晰呀
    KikuCN
    KikuCN
    Jul 30, 2025
    122
    @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
    EeveeRibbon
    Jul 30, 2025
    123
    华为基础设施监控数据接入标准,是按照测点名称(中文名)去定位测点的,根本就不传 ID ,真是活久见
    moyupai
    moyupai
    Jul 30, 2025
    124
    @yhxx 学学政府的架构,数据库迁移,无数据库压力
    0n2ynu
    0n2ynu
    Jul 30, 2025
    125
    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
    way2create
    Jul 30, 2025
    126
    其实代码质量写的烂我可以忍 毕竟大部分人都是牛马 混口饭吃 估计水平高的看我写的也会觉得烂 然后看平台 公司要是没规范那估计肯定看个人了

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

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

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

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

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

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

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

    @duan602728596 后端懒得新开个 VO

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

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

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

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