查看: 748|回复: 0

令人生畏的游戏服务端编程,普通程序员你该怎样看?

[复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-3-5 14:46:23 | 显示全部楼层 |阅读模式

令人生畏的游戏服务端编程,普通程序员你该怎样看?https://www.gmbbs.net/
如果一个软件开发人员没有学会阅读游戏服务端,他将会遇到一个瓶颈。因为到了这个开发阶段,他不仅要做CUDGE的业务逻辑,还要根据公司的实际情况编写框架。
然而,基本上没有人能像天才一样从头开始编写框架。许多人实际上是通过模仿来编写框架的。如果你想模仿,你必须首先理解框架的游戏服务端。这就是为什么阅读游戏服务端如此重要。
当我工作一两年的时候,我试图阅读JDK的游戏服务端。那时候,我觉得自己就像在读天书,读起来很痛苦。我已经工作了三年左右,因为我的同事正在看游戏服务端,我也开始看一些游戏服务端。
我看到的第一个框架的游戏服务端是dubbo,尽管我说我没有完全理解它。然而,通过阅读dubbo游戏服务端,我了解了JDK的SPI机制,也知道了SPI在框架开发中的作用。直到最近,我阅读了公司的网关框架,才慢慢获得了一些阅读游戏服务端的经验和惯例。趁热打铁,写下这些经历,希望你能尽快踏上阅读游戏服务端的道路。
首先,搜索在线信息
阅读一个框架的游戏服务端,最基本的操作肯定是扫描互联网上的各种分析文章。通过这个操作,您可以对框架有一个大致的了解。站在巨人的肩膀上,避免走很多弯路。但是,如果您正在查看的项目是公司的内部框架,那么您只能查看内部文档。此外,有些人甚至没有文件。那么你可以跳过这一步。
第二,扫描游戏服务端
当您获得框架的游戏服务端时,您可以粗略地扫描游戏服务端的每个包以及每个包下的文件。扫描并不要求你理解每一行代码的含义,只是让你知道游戏服务端的每一部分的功能。
如果一个开源框架足够标准,那么它的命名是非常语义化的。所以当我们扫描时,我们可以通过它的名字和文件名来判断这个包是干什么用的。
例如,util包是一个工具类,那么我们可以直接跳过。Vo包用于存储实体模型,也可以跳过。协议包与协议相关,等等。通过这一步,你将对整个项目有一个基本的印象,并且知道项目中可能有什么,什么是相对重要的。
三,找到入口
要阅读任何框架的游戏服务端,第一步是找到框架的入口。通过扫描上面的游戏服务端,你应该能够找到一些进入的迹象。例如,对于Dubbo,您会发现它有一个名为dubbo-demo的子模块,所以我们必须关注它。
如果您进一步探究需求,您会发现它的条目是dubbo-demo中的提供者类和消费者类。我们可以直接运行这两个类的主要方法,并逐步跟踪代码的执行。
四、通读游戏服务端
找到入口后,下一步是读取所有的游戏服务端,也就是说,读取每个游戏服务端文件的每一行。在这个阶段,没有必要完全理解详细的业务逻辑,但是应该形成一个通用框架来了解框架是如何设计的,有哪些通用模块可用,以及这些模块是如何设计的。
在阅读游戏服务端的这个阶段,它是最无聊也是最容易放弃的。一方面,因为有太多的游戏服务端,另一方面,因为没有目标,很容易放弃当看心里因为没有底部。起初我也是如此,但后来我想出了一个更好的方法,通过数字化让自己了解阅读的过程。这样,我就不会觉得心里是不确定的。我不知道要多久才能读完。
我的方法是在我的IDE中安装一个代码统计插件:统计。这个插件可以计算项目中的游戏服务端行数。例如,下面是我的dubbo项目的游戏服务端截图。它将列出每个java文件的游戏服务端行数和总行数。
你认为让普通程序员害怕的游戏服务端是什么?
从上面的截图中,我们可以看到dubbo项目中有110,000行游戏服务端。因此,他们的心理也有一个普遍的期待。接下来,我将复制这些数据,并将它们放在一个Excel表格中,如下所示:
你认为让普通程序员害怕的游戏服务端是什么?
在Excel表格中,我将只存储每个源文件的名称、游戏服务端行数和游戏服务端行数的比例。接下来,我将根据入口逐一查看源文件。每种方法我都会读一遍。我将为我阅读的每种方法写一个评论,比如csy mark,并写下我的评论。
当我看到所有文件后,我会在Excel表格中相应文件的最右边一列写下百分比。最后,我将在底部有一行来计算我已经阅读的文档的百分比。
你认为让普通程序员害怕的游戏服务端是什么?
每次我读一种方法,我都会写一篇鼓励自己的文章。每次读取一个文件,我都会在Excel中将其标记为完整,并且底部的读取百分比也会增加。这样,我让枯燥的游戏服务端读起来,有些有趣,有一些目标。
通读游戏服务端是最无聊、最容易没有方向和目标的。有了数字记录,你可以知道你目前的进展和你读过多少游戏服务端。大部分时间我们看了很长时间,发现没有进展,我们不想再看了。
此时,你可以给自己设定一个目标,例如,你可以在一天内阅读完5%的游戏服务端后休息。然后当你想偷懒的时候,看看Excel下面的阅读百分比,不到5%,然后继续找。
这种方式,对我来说,还是有一定效果的。但是对于那些不知道它是否有效的人,你可以试试。如果有用,请评论并告诉我。
V.梳理框架
在阅读游戏服务端的过程中,你会对框架有很多新的理解,你会知道框架大致分为哪些部分,每个部分的功能是什么,模块使用什么设计概念等等。
如果最后一个阶段是阅读游戏服务端,那么这个阶段就是在阅读游戏服务端的过程中整理你的收获。在整理的过程中,你肯定会有更多的问题,你会继续提炼和精读。
6.批判性思维
通过以上阶段,您将发现您对该框架有了全面的了解,并对每个模块的实现细节有了更深入的了解。此时,你可以思考它为什么要这样做,这样做的优势是什么,以及它是否可以用另一种方式做得更好?
七.摘要
以上阶段是我在阅读了几个框架游戏服务端后的一些经历,我相信这将是一个很好的游戏服务端阅读指南。
我怎样才能学会快速开始并掌握它?
为了让学习变得简单有效,今天我给你一套由阿里建筑师教授的免费分享教学资源。帮助e
这套视频课程详细解释了(Spring、MyBatis、Netty游戏服务端分析、高并发性原则、高性能、分布式、微服务架构、JVM性能优化、分布式架构)等等,这些已经成为架构师的必备内容!
而且框架还需要使用各种程序打包,根据基本视频可以让你轻松构建一个分布式框架环境,就像在企业生产环境中进行学习和实践一样。

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表