前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >震惊!程序员的水平能差到什么程度?

震惊!程序员的水平能差到什么程度?

作者头像
陈宇明
发布2022-04-06 19:58:44
5350
发布2022-04-06 19:58:44
举报
文章被收录于专栏:设计模式

if循环19.8亿次

如果说大家不相信,有人能写循环19.8亿次的if循环,那你更无法想象这还是写在GTA 5里的代码。

GTA,Grand Theft Auto,中文译名:侠盗猎车手。是由Rockstar Games开发的以犯罪为主题的世界著名游戏。相信很多朋友既是没玩过,也听说过。这款游戏从1997年11月21日首发以来,一直风靡至今。

GTA 5联机版加载需要多久?只有天知道。终于,一位黑客大哥对GAT 下手了。

黑客大哥首先用Windows任务管理器,来分析GTA 5都调用了哪些计算机资源?

在1分钟的时间分界线上,可以看出,之后GAT应用占用了大量的CPU资源,而内存,硬盘,GPU都无过多变化。老哥怒骂:“R星(Rockstar)代码写太烂!”

他使用了工具Luke Stackwalker,对CPU任务堆栈进行采样分析。有两个函数“卡住”了CPU

他使用专业的代码拆解工具,给GTA 5来了一个“开膛破肚”。

沿着调用栈往下走,发现问题出在一个sscanf函数上。

sscanf的功能是读取格式化的字符串中的数据,而在GTA 5中,它正在读取的是一个10M左右,有63000多个条目的JSON文件。

按照他的计算,这一步if,要执行(63000^2+63000)/2 = 1984531500次!

没错,等待加载前的十多分钟里,GTA 5用你的CPU,执行了19亿次if!!!

大家都能提出问题,而找到问题已经算高手了,而这位黑客大哥亲自出手,优化了这个功能并开源到了Github。据说性能提升了70%,玩GAT 5的玩家可以试一试呦。

GitHub - https://github.com/tostercx/GTAO_Booster_PoC

摸鱼勿把游戏软件打入部署包

一位叫Benny的网友爆料:他们的运维小哥抱怨说Java项目的war包太大,每次发布要太久。多大呢?2G!!!

相信各位Java大神都惊的下巴都掉了。

Benny就去分析这个war包,不看不知道,一看吓一跳。里面藏着一个PES2006,实况足球!

接着就是通过SVN提交记录查找罪魁祸首。据犯罪嫌疑人交代:某个月黑风高的加班夜。几个人辛苦一晚之后,决定找点乐子。

大家准备玩玩实况足球。其他人一个个下载太慢,于是嫌疑人就把游戏通过SVN分享给大家。本来计划在激情过后,删除就人不知鬼不觉了。然而由于玩的太嗨!也由于加班太晚。大家都给忘了。

于是就有了这个2G的war包。

你笑我菜,我却笑你看不穿

魏文侯问扁鹊:“你兄弟三人,哪个软件开发水平最高?”扁鹊说:“大哥最好,二哥其次,我最差。” 文侯甚为不解。

扁鹊解释道:“我大哥不等Bug出现就提前预防了,所以名声传不出开发组。二哥在Bug出现时就顺手解决了,所以名声传不出技术部。

我呢,每天像打地鼠一般到处救火,所以在公司没人不知道我。

疫情以后。大哥,二哥都被优化了,而我还在每天打地鼠。

小丑竟是我自己:程序背锅师

不知道你们有没有听说过程序员鼓励师,但是其实大多数中小型公司都请不起。于是就听说有一个做法:他们会请一个技术很差的人回来背锅,这样当大家消极时只要看一下他,就突然感觉自己还行。

我觉得这个做法很有意思,但是我环顾了一下,我公司似乎没这种人....

最变态命名

在JDK,1.6中。有一个非常反人类的类命名。

InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState.java

代码语言:javascript
复制
/*
 * InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState.java %E%
 *
 * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.sun.java.swing.plaf.nimbus;

import java.awt.*;
import javax.swing.*;

/**
 */
class InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState extends State {
    InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState() {
        super("WindowNotFocused");
    }

    @Override protected boolean isInState(JComponent c) {

    Component parent = c;
    while (parent.getParent() != null) {
       if (parent instanceof JInternalFrame) {
         break;
       }
       parent = parent.getParent();
    }
    if (parent instanceof JInternalFrame) {
       return !(((JInternalFrame)parent).isSelected());
    }
    return false;
    }
}

你觉得身边有多少人,代码写的比你烂

你遇到过哪些烂代码,我们评论区。华山论贱!

参考:

https://www.zhihu.com/question/314644210

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码个蛋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档