7年无人敢动的「屎山」代码:if循环19.8亿次
你是不是也有这样的问题?
????速戳看视频????
黑马视频号
你玩过“侠盗猎车手5”(简称GTA 5)这个游戏吗?这个游戏是由Rockstar Games游戏公司(被玩家称作R星)出版发行的一款围绕犯罪为主题的开放式动作冒险游戏。
图:来源网络,侵删
从2013年诞生至今,虽然是一个收费游戏,但是一直都被玩家认为是物超所值的,据说这款游戏仅2020年就卖了2000万份,累计销量更是达到1.4亿份,从销售量上就可以看出这个游戏有多让人上头!
图:来源网络,侵删
但这样一个让人上头的游戏,在其程序中却暗藏一个「屎山」代码,并且7年间没人敢动!
所谓「屎山」,是程序员间流传的一个梗,指陈年累月且复杂低效的代码,因为改动成本巨大,所有人避之不及。
在2020年,无数玩家在网络上吐槽抱怨:进入GTA 5花费的时间太长了,少则5、6分钟,多则20分钟,对于急切想开始游戏的玩家来说,这么长的等待时间实在是太长了。
其中有一个玩家,实在不愿意等待这么长时间,于是用逆编程器查看了这个游戏的运行情况,终于找到了原因,原来R星写的代码太低效,加载时一个if竟然要循环19.8亿次。
发现这个游戏漏洞的玩家是一名不愿意透露姓名的黑客大哥,他将这一发现整理成帖子,火遍网络。
帖子的大火,让R星不得不面对这一问题,在和黑客大哥联系后,R星认可了他的改进方法,宣布在后续更新中修复相关问题,并且还慷慨的给他付了一笔1万美元的奖金。
这一事件也引来不少网友的吐槽,很多人说R星每年都能从这个项目上赚数亿美元,但是却不肯花几分钟去解决这么一个低级错误,实在可耻。
如果平均给每个玩家节省10秒,全球500万玩家一天就能节约5000万秒,一年中,节约的总时间大概能有数十年,相当于挽救了十多个人的生命!
据悉,R星到现在只是官宣会修复这一代码,但还没有实际修改这一代码,至今这个代码还在各个玩家的CPU上运行!
播妞猜测R星不是不愿意去修改这一代码,而是因为修改的成本实在是太大,就像网友说的:只要游戏不崩,就不会改动任何一行代码。
关于「屎山」代码,可以说是在程序员的职业生涯中不可避免的事情,因为即使你写出非常完美的代码,等几个月或者几年再回头看时,也可能觉得是不够完美的。
虽然不可避免,但是在重要项目的代码上,作为程序员,还是要尽量少出或者不出bug,播妞希望大家的代码中「屎山」代码少之又少!
对此你有什么看法
欢迎大家留言讨论
· 推荐阅读 ·
有哪些话一听,就知道你是个水货程序员?
2021-05-11
全国程序员5月平均工资出炉!没想到这个岗位薪资暴跌 ....
2021-05-10
TIOBE 5月榜单出炉,Python第二,谁是榜首?
2021-05-06
点个在看,播妞爱你们呦
7年无人敢动的「屎山」代码:if循环19.8亿次相关推荐
- GTA 5祖传「屎山」代码终于修复!R星认可黑客方案,还给他发了1万美元奖金
贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 折磨全球无数GTA 5玩家的联机版超长加载时间问题,终于要修复了. 什么?R星(游戏开发商RockStar)主动改善玩家游戏体验?不存在的 ...
- 为什么祖传代码被称为「屎山」?这个回答简直太形象了
经常听说祖传代码会被人称之为「屎山」,不同人可能有不同的体会,最近看到一个回答,简直是把这个阐述得"活灵活现",大家来感受下吧. " 阅读本文大概需要 3 分钟. &qu ...
- 祖传代码成「屎山」了,千万别动
上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路. 大家好,我是校长. 我看有人问了这 ...
- 为什么祖传代码会被称为「屎山」?
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨赛博铁犁 文章来源: https://juej ...
- 漫画 | 为什么祖传代码被称为「屎山」?
点击上方"蓝色字体",选择"设为星标" 做积极向上的前端人! 这是苏南的 第19篇 原创漫画推送 今天这篇漫画的灵感来源于知乎的一个问答话题,这种情景在程序员身 ...
- 火星无人机「机智号」代码开源,1.2w人参与贡献
视学算法报道 作者:小舟.陈萍 火星上的一小步,人类的一大步. 当地时间 19 日 NASA 宣布在毅力号的「注视」下,机智号(Ingenuity)无人直升机成功完成了火星上的首次飞行,并完成 3 米 ...
- p3c 插件,是怎么检查出你那屎山的代码?
作者:小傅哥 博客:https://bugstack.cn 原文:https://mp.weixin.qq.com/s/RwzprbY2AhdgslY8tbVL-A 一.前言 你会对你用到都技术,好奇 ...
- 本期最新 9 篇论文,帮你完美解决「读什么」的问题 | PaperDaily #19
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- 国经信中心「APEC产业+」西部硅谷投资2万亿 成渝经济圈将超上海 | 稳略产业基金观察
「APEC产业+」 | 稳略产业基金观察 近日,随着一篇文章刷屏,产业投资圈已经沸沸扬扬. 国经信中心「APEC产业+」西部硅谷已来,投资2万亿成渝经济圈160个重大项目公布 2021年10月中共中央 ...
- 用区块链来管钱,「翼帆」为雄安管理20亿元工程款
解决资金逐级下发过程中,因信息不公开造成的资金挪用和截留问题. 文 | 雪姣 出品 | Odaily星球日报(ID:o-daily) 在国家网信办备案的 197 个区块链项目中,有一个在建设雄安新 ...
最新文章
- TableLayoutPanel
- Android 4.4 MediaRecorder系统结构
- matlab画置信区间图,matlab绘制带置信区间的双y轴图形 | 学步园
- 201209阶段二FFmpeg转码
- 安装CentOS6.2操作系统
- 数字图像处理中的高通滤波和低通滤波
- Wireshark入门与进阶---数据包捕获与保存的最基本流程
- 55个高质量的Magento主题,助你构建电子商务站点
- VMware与 Device/Credential Guard 不兼容.
- 特征级融合_多知识图谱的融合算法探索
- js操作动态表格内元素
- PSP看电视软件测试,实战测试:PSP上运行Windows 95
- 新丰机器人_韶关新丰:智能巡检开启配电网运维新模式
- linux之sort,unip,cut
- 叩丁狼学院Java入门 项目代码
- electron关闭硬件加速
- 微信小程序navigate标签
- 【计算机组织与体系结构】实验二:给定指令系统的处理器设计
- excel 操作技巧
- UIAutomatorViewer排查问题
热门文章
- SEO引擎首页优化 - 2016百度搜索引擎算法
- 计算机出现假桌面怎么解决办法,Win10系统下“AppHangXProcB1”导致桌面频繁假死如何解决?...
- python浪漫代码表白npy_python – Cython使用MemoryView时关于NPY_NO_DEPRECATED_API的Numpy警告...
- 计算机软件专业硕士论文,软件工程硕士论文范文
- 【02.06-02.13】长赢计划主理人“ETF拯救世界”微博精选
- 谈逻辑与数学界线之淡化(修正版)
- 苹果手机测试版软件app,APP苹果测试版UDID设置
- 室内定位导航-室内地图导航-高精度地图应用场景
- 走出校门,工作4个月的工作感想
- mysql中str_to_date函数和date_format函数和now函数