DDT 程序模块的重构

重构的学习总览

Posted by Jow on April 8, 2019

目录

  1. 结合的思想和设计模式
  2. 弹弹堂框架总概括
  3. Lua层游戏目录
  4. 游戏主要功能
  5. DDT客户端的主要框架

弹弹堂已经上线马上两年了,我也在这个项目组带了几个月,前面一直认为服务器的知识大于客户端的知识,但是现在自己客户端的知识还没有掌握,谈何服务器,看了也只能浅尝辄止,收益和效果不会飞速的提升,所以自己决定回到真正的重点,回头研究前辈们的代码,根据自己学习的设计模式和重构思想进行代码上的优化整理。想到自己对整个游戏框架不是特别的熟悉,所以暂且放下基本框架的了解和学习,从顶层开始,慢慢的分析针对于每个模块进行优化和统一。

结合的思想和设计模式

在整个重构的过程中,首先我会解析出每个模块总共有哪些功能,这个功能存在怎样了依赖关系。然后根据代码的设计思想和实际中遇到的问题进行重构。

在这里我会用到两本书的思想,设计模式和遗留项目重建实践,我会认真的研读这两本书,结合项目从中找到重构的思想依据,这样自己才能够少走弯路。

弹弹堂框架总概括

弹弹堂的物理引擎使用的是cocos,这个部分是c++实现的,因为使用的是自己的UI编辑器,所以在游戏的开发过程中,我们还是对这个部分进行了修改,有个遗憾的问题,虽然使用的是自己开发了UI编辑器,但是真的十分的垃圾,所以在这里我计划不对这个层级进行了解,主要了解Lua层,非引擎部分代码。

Lua层游戏目录

一个游戏的目录决定着它在游戏中的地位,根据他的命名,我们就可以知道它的作用是什么。接下来讲述我我组要会使用到的目录。

  1. core 这个目录下是游戏的核心代码部分
  2. LuaScript 游戏的业务代码部分
  3. res 游戏的资源目录

游戏主要功能

  1. 战斗
  2. 武器
  3. 人物信息
  4. 宠物
  5. 时装
  6. 活动
  7. 公会
  8. 商城

DDT客户端的主要框架

  1. 开发引擎的选择
  2. 网络交换部分
  3. 代码加密
  4. 多语言
  5. 地区的配置
  6. 热更新

接下来我会对这个主要的模块进行延展和分析,学习其中优秀的思想和框架,总结出其中不太好的地方进行重构和组合,从代码的可读性,可扩展性以及易修改的特性出发,进行修改和构造