V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
SwaggyMacro
V2EX  ›  程序员

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

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

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

    SB

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

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

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

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

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

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

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

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

    按照 V2 的标准

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

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

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

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

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

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

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

    这种是很常用的,在很多场景下比 if 更合适。
    R0n1n
        172
    R0n1n  
       52 天前

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

    @duan602728596 后端懒得新开个 VO

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

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

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

    还在缓慢增长
    jspatrick
        199
    jspatrick  
       52 天前
    @weixind #21 这样写还有一个好处,编辑器可以直接折叠整个 switch 的代码块,if-else 就要额外操作了
    IMengXin
        200
    IMengXin  
       52 天前
    1  2  3  
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2434 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:43 · PVG 23:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.