史上最著名“屎山”代码,一个if循环19.8亿次,多年竟无一人敢动...

作者: 阿里小菜鸡一名分类: 计算机技术 发布时间: 2023-11-19 15:42:36 浏览:1903855 次

史上最著名“屎山”代码,一个if循环19.8亿次,多年竟无一人敢动...

_梦海:
我记得这个循环已经被修复了,并且R星还奖励了那个修复的路人

【回复】奖励这么大手笔,一万美元,要是自己修得多少钱啊😂
【回复】回复 @丶丶Yi :国外程序员写代码效率和水平有多低。。。华为深圳总部交给爱丁堡办公室一个算法叫他们写,爱丁堡一个小组5个人写两周都写不出来,最后深圳找了一个刚入职的实习期老哥,一天就写完了而且比他们两周加起来写的还好[doge]真人真事就前几周
【回复】回复 @思信Shin :自己修的话起码一团队去搞[doge]大厂一个人一天多少钱在那
煌惚:
别说后面的人不敢改,就是原来写这段代码的人来了他也不敢改

【回复】回复 @--FOX--- :涉及服务器和前端客户端交互 需要找到当时的项目负责人 /业务开发的主程、前端、服务器、数据库、等人 你管咋你得先确定业务逻辑为什么要这么干,业务功能又干了什么吧。 找人就费了老劲了[辣眼睛]再说时过境迁,光靠业务文档,文档编写那个人估计都懵逼 何况其他人
【回复】这有啥不敢改的,不过是懒罢了,代码都有版本的,测试版本改错了,我再下载一份就是了,线上的代码不需要更新是不会动的
【回复】就是懒,想改就能改,r星现在在线上一直不做人
该用户因Bug无法显示:
真的感谢这位大哥,现在进线上都是几乎秒进

【回复】腾讯:38元包月,gta快速启动[吃瓜]
【回复】pc的不知道,次世代主机进游戏是真的快,第一次夹在两分钟左右,有时候时间短一分钟就加载完
【回复】回复 @leeraire :真的 这个爆出来之后有人做了补丁又过了很久r星才修复 还给了那个人美元
鱼与遇雨:
我也参与过开发系统,心得是,只要能跑,只要是别人做的东西,那就千万不要去动,鬼知道这东西有没有人在调用。

【回复】比如现在的LOL,bug巨多,而且是莫名其妙的bug,我感觉就是有人动了shi山代码了
【回复】回复 @星野C星人 :那难道不备份直接对源代码进行更改?
【回复】改掉一个数据代码的字母,立马崩。[捂脸]
梦魂丝:
我觉得很可能前几个程序员用了if后面的人为了省事copy了下,然后时间长了忘记最初的情况为什么这么写,但是又是叠加升级,后续的程序员怕该部分的接口与其他地方有调用,然后没有相关资料分析,只能继续往上累。。。。。。。我觉得这很正常,当项目内容过多,各个接口调用如果没有相关人员记录。后续接手的人肯定不会重新翻一遍。费时费力还不见得有结果。性价比太低。

【回复】是的,只要不是致命问题,没人敢动
【回复】回复 @樱花盛开是你 :能力是原因之一但不是主要,这个是成本问题,包括时间人力和资金
【回复】所以更能体现这位玩家编程技术牛逼,
一只小白SW:
游戏时间1000小时基本都是线上,保守估计有100小时在看云[doge][doge]

【回复】通关后玩了几次线上就卸载了,实在难以忍受
【回复】难道不是看云模拟器,洛圣都气象分析模拟器吗?我的工作是:洛圣都首席气象分析师[doge]
Patrick-Swift:
直到现在,玩GTA5依然需要先进故事模式再进线上,什么时候直接进线上能那么快就好了,希望GTA6出个快速旅行,然后把代码好好改一改,也不用每次费劲地差事传送了[笑哭]

【回复】回复 @改名必中勥 :有人测试过,直接进线上慢很多的,反而先进故事再进线上快[吃瓜]
【回复】回复 @改名必中勥 :先进故事再进线上两三分钟,直接进线上 五分钟后加入战局出错......回到故事模式
【回复】回复 @改名必中勥 :直接进慢啊,而且很多时候你等半天他来一句线上断开连接,又给你送单机里,你还得再来一遍[笑哭][笑哭][笑哭]
李小富:
笑死,20年初入坑gta5,晚上下班回家打开游戏,吃完泡面回来正好能进游戏[呆]

【回复】现在快很多了,以前我记得还有第三方大佬的解决方案
【回复】回复 @一只知了丶 :我有啥问题,代码问题不是今年3月才解决的?修复前谁进游戏快
【回复】那是你的问题,r星被骂的受不了已经把这个人的代码改进去了,我一般一分钟就进游戏了
芝麻蘸酱:
[喜极而泣][喜极而泣]多少年前的事了。 以前我自己进游戏就这样,我刚开始也以为是加载问题导致太慢。 后来一个方法是先进单机,再转联机,这样比你直接从登录页面跳联机快太多了。 然后就是据传是r星外包给印度的某个货,写出来的代码。 毕竟你知道有些印度人他妈写代码,从来不跑代码的,写完直接就提交了。[笑哭][笑哭][笑哭]

【回复】不是不跑代码,是环境不同,开发环境和运行环境有相差,开发是局域网,网络加载问题不大,上线后是局域网。哪有公司提代码不跑的。更何况人家是大公司。
【回复】回复 @一死亡如风一 :别在这给印度人开脱了,r星要真注意这问题也不至于拖上好几年,让民间黑客找出问题。[笑哭][笑哭] 这是加载问题和你网络有个p毛病。
【回复】回复 @扯断提线的木偶 :分层外包,鬼知道最后写代码的是什么牛马,只要程序能跑就算完成任务。
赛奇______:
我以前考C语言的时候写了一个屎山代码,我当时对C语言语法也是一窍不通,具体代码忘了但我记得我就嗯循环if,我把监考叫过来看运行结果的时候电脑就一直在那算,监考和我说我肯定做错了让我重做。结果过了一会儿结果出来了,也是对的。把监考都给看无语了,但对的结果也只能满分[喜极而泣]。一道高中难度的运算题,我让一台电脑算了一分多钟才算出来,现在想想当时的我也真是个人才。

【回复】嵌套循环递归是吧,计算机99.9%的时间都在跑循环[滑稽]
【回复】我考试的时候有一个比较简单的程序也是屎山逻辑写的[妙啊]因为当时肚子疼死了着急写完提前走人回去拉屎
【回复】回复 @终结者的徒弟 :小学时报的编程兴趣班我也这么干的,结果最后没有证[难过]
名字长一点总是好的:
以前的我:为一个gta5开加速器太亏了 现在的我:为gta5,极品飞车热度,apex,steep,开加速器真的是赚麻了[doge]

【回复】回复 @FAZECLAN-Nikoko :不开加速器,ea单机都不让进[热]
【回复】回复 @FAZECLAN-Nikoko :毕竟16块钱买的,怎么也得玩过瘾
【回复】heat这鬼游戏还有人玩线上
轻轻巧巧我弟弟:
黑客只解决了他所看到的问题,但如果这个改动产生了另一个严重的bug,上线了被玩家发现,那么r星面临的可就不是简单的被吐槽。一些说什么代码有回滚有版本的幼稚园大学生。代码有回滚,出了更严重的问题用户的体验有回滚吗?

【回复】经典的,不作为就不会犯错理论[打call]
【回复】回复 @Nicholaszhaofour :不犯错 就不会罚款。很现实的原因。不是不干,而是受益和风险不成正比。
霞-空流转:
这个if循环 是不是可以这样理解,我想数这句话有多少个字。没有一个一个数 而是每看到后面有一个新的字就从头数一遍

【回复】循环也就是遍历(大白话就是在一组数据里从头到尾走一步)是for each loop,if是判断,不玩GTA5,看视频大概相似的概念就是: 该模式有个认证步骤需要确认6w多组字符串是否一一对应,对应就进行下一步。然后他每组字符都会经过遍历在6w多组里找一遍,找到了就找下一个。 字符串是有顺序的,所以第一行字符串遍历的第一个数据就匹配了,第二行则是遍历到的第二个数据,因为他要找到第二个数据必须先经过第一个数据,依以此类推,后续找到对应数据的次数为1,2,3…直至6w3次。 后面就是小学数学了,首尾相加再乘总数的一半,也就是(1+63000)*(63000/2)=19亿8000多万次。 然后黑客的方法大概类比就是,这组数据又不变动,包含这组数据的文件名字也是唯一的,那我为什么不确认这个文件名在不在,在就直接下一步。这样就把要确认19亿次的遍历变成了“确认某个文件夹里是否有这个文件名”,一个文件夹最多最多估计也就几十w个文件吧,这里效率就差千倍了,如果该路径下就几百几千个文件,那就更快了……
【回复】比如 吃葡萄不吐葡萄皮。吃 一个字后面还有 重新数。吃葡 两个字。吃葡萄 三个字。 吃葡萄不 四个字……直到:条件:后面没有字,输出:字个数8。
【回复】不是,是在你这段固定的话里找出一个字然后就结束
林黛玉温酒倒拔狮驼岭:
我记得当年这位大神把自己的解决方案做成补丁放论坛里分享给全世界玩家,然而tx随手就把这补丁加到自家的加速器里来收费

【回复】符合我对腾讯的刻板印象
【回复】回复 @迷失在璀璨闪耀的星空 :反手举报论坛被墙(猜的)
球球了出货吧:
到底是谁还在买陈年老货5啊,回回打折能卖几百万份

【回复】很多才长大的孩子小时候梦寐以求的就是玩gta5[doge]
【回复】没有人一直18岁,但一直都有人18岁
【回复】回复 @不想取名的男人 :确实,我以前小时候可是眼馋好久,只能看看视频
账号已注销:
阿婆主把大学和工作中用的计算机资源整理打包分享给大家![给心心] --> 【https://b23.tv/G9RN7hD】 <--戳这里 需要的家人戳上自娶或者展开简介也可自娶 包括【超多原码+入门笔记+PDF电子书+面试题】 韶华不负,加了个油![洛天依][洛天依][洛天依]

浅笑-微言:
这是个高手,简单粗暴没人敢动,离了他就不知道怎么优化[doge]

知识分享官 C++ 程序员 科技 计算机 C语言 编程 经验分享 大学生 代码

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!