第(2/3)页 唐夙看着身侧好像听懂了她的话的少女,也有些小庆幸。 好在夏语昔对程序这方面是完完全全的空白,不然就算仅仅是一知半解,也能听出唐夙这番话里的漏洞。 让一个程序员看另一个程序员写的代码,说好听点叫难看懂,说难听点就是在看天书。 能不能理解全看天意。 特别是唐宿这种写代码的时候不爱加注释的。 有时候都不要说别人了,自己看自己写的东西都要联系上下文好好思索一番才知道自己那一天脑子里装的是什么浆糊。 其实你说如果是一些逻辑简单的小游戏还好。 类不多,方法也少,互相之间的调用也就那么几个,就算编纂者脑子比较清奇,接手的人实在理解不了,大不了重写一下,也没什么大事。 但唐夙手里这个训练软件涉及了多英雄,多模式,高交互,设计难度提高的同时,维护难度也是几何增长。 这时候出了问题,就不像小游戏一样简单了。 首先是寻找问题的出处。 这一关就足以折磨大部分的运维人员了,因为代码的逻辑BUG有很大一部分是在交互的时候暴露的。 那既然是多方交互时出现的问题,那请问是哪一方有问题,或者是哪两方有问题,或者是最恐怖的...... 这么说可能不够直观,那就举个例子。 比如LPL比赛里著名的时空回溯事件,发生在2020年LPL夏季赛,RNG对阵JDG的比赛里。 这里暂且不论时空回溯的合理性,就先分析一下BUG的程序问题。 这里有三方参与了BUG的发生,分别为锤石、巨魔、河道的墙壁,那修复人员就要对这三方一一排查。 河道的墙壁最为简单,因为不涉及代码,应该简单地检索一下碰撞就行,BUG的来源大概率不是它。 而锤石和巨魔两位英雄的代码量应该不在少数,而且这么多年,各种小补丁,大修改都不少,就算都按规矩改了,整体应该也是比较臃肿的。 类与类之间、方法与方法之间的相互调用,各种动画状态的切换和每个技能的碰撞判定等等因素都要排查。 这要交给别的程序员来看? 那除非原本负责这个的程序员连交接都没搞好就跑路了。 至于找到了问题的发生点,那下一步就是修改,如果仅仅是数值上的偏差那还好说,但如果是逻辑上出现漏洞了呢? 不要以为大型游戏就不会出现设计上的逻辑漏洞。 如果开发时的可扩展性没有做好,一旦后面一拍脑门设计出了一些机制特殊的英雄,绝对会出现一大堆BUG。 这种情况下不让设计者来修,鬼知道他当时写这块代码的时候是怎么想的。 哦不对,鬼可能都不知道。 所以,唐夙只能希望夏语昔不要在这方面有所研究了。 第(2/3)页