您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
游戏程序员是如何看待“祖传代码”这一说法的?
代码,模块,问题游戏程序员是如何看待“祖传代码”这一说法的?
发布时间:2019-02-08加入收藏来源:互联网点击:
问题补充: 说明一下……此处“祖传代码”与百度搜索“祖传代码”词条出现的某直播平台后缀无关……请问一下在网络游戏程序设计(没有相关知识不知道定位准不准确)中是不是存在一套代码重复使用代代传承的情况,作为游戏的设计开发或者运营维护者对于这种“祖传代码”的说法有什么看法或者吐槽,感谢扫盲_(:з」∠)_
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
亚马逊的工程师形容说他们的代码:“一座很大的屎山,你见过的最大的山,每次你想修正一个bug,你的工作就是爬到屎山的正中心去”。
刚入职的时候,熟悉项目代码,经常碰到各种奇形怪状的代码,有且不限于:各种进不去的分支,各种奇葩逻辑,各种风格不统一的编码风格,各种我也形容不上来但是看着很蛋疼的代码。。。每当问起老员工这里为什么这样实现时,他都会漏出一副深邃的表情:别问我,我来时就这样了,历史遗留问题。。。
至于如何对待,我举个例子。我们代码中有一行代码,在一个奇奇怪怪的地方设了个奇奇怪怪的标志量,然后后面一个注释:
// 位置不能动,不然时序就都乱了。
作为一个萌新我当然乖乖滴没去动它,直到有一期新需求,这个标志量的位置出现了点小问题,然后我就尝试性地把这句话往后挪了一小下,然后程序从头错到脚指甲。在体会到前辈的用心良苦后,我又在那个注释下面加了一句:经验证,真的不能动。。。
希望对你有帮助
回答于 2019-09-11 08:43:50
很多核心代码一直在用,比如Excel里的一些标准计算公式,可能自诞生开始就那样了。
所谓的祖传代码,只是因为代码的更新维护工作出现断层,掌握相关代码逻辑的人已经不在了,新人又不敢碰,就变成了补洞的方式,围绕这坨原始代码,导致逻辑越来越复杂,更加没人动,恶性循环。
虽然导致这种问题的原因很多,但最终一定是公司在代码的管理上有问题。国内很多公司都注重结果导向,忽略了代码本身的维护状况,也不会有专门的团队来监管代码编写标准和文档的维护。最后就是越来越冗余,每个人都想推倒重做。
如今互联网公司更是严重,时代变化快,尽早上线才是王道,其他不重要。于是,很多企业的代码都是屎,但只要测试工作到位,代码可以正常工作就行。
微服务的概念也是某种程度上缓解了这种问题,尽量把业务逻辑拆分成可维护的模块,独立的模块保持完整性,就可以让整体看起来更加易于维护。
回答于 2019-09-11 08:43:50
楼主你好,个人经验“祖传代码”有两种情况分别是:有效解决问题无需重复造轮子、程序之初未能有效规划造成的“恶果”。
有效解决问题无需重复造轮子:
在实际开发中,有些东西是不用重复编写只需要拿来用即可。比如数据库操作模块,底层网络套接处理,经过沉淀稳定强壮的底层框架等。这些通用性较强且性能尚可的模块都可以作为“祖传模块”。
设计不好导致的恶果:
有些情况猿猿们接手项目,发现几年前的模块存在问题、但是稍微修改却会导致血崩。类似的这些模块我们不会直接修改,像蚂蟥一样疼却不能拔出来。
回答于 2019-09-11 08:43:50
前人挖的坑,不要随意去填——你只能去看看而已。如果你想去填坑,那你就是被坑的那个人~~~哈哈哈,开个玩笑!~~~祖传代码的说法,只是说说而已。真正的正规公司,运营在数年以上的,都会有自己的代码库以及复用件,新入职的员工需要事先熟悉熟悉而已。不过,你真的想要大规模的重构,注意——请慎重!请极端慎重!绝对是吃力不讨好!还不如重新写一遍。但重写一遍,你老板花得起供养你的成本么?
回答于 2019-09-11 08:43:50
哈哈哈哈,这是一个很有趣的问题,因为第一代程序,会出现比较多BUG,然后为了修补这个BUG,找不出原因的程序员,会一直写一些奇奇怪怪代码,可能会取消某一个判断又出现新的判断,如此类推,某一个判断可能已经被多次取消了,反正就是改了就影响很多代码,很容易发生系统崩塌,所以一些十几年的程序,有的公司宁愿开发新的同样功能的系统,都不愿意改,改了就会很容易系统崩塌,影响用户体验。
上一篇:嘉陵独狼125,12000左右里程时速80就提不上去了,是什么原因?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |