• 探讨【IGE】的源代码【三】。


      看了源代码,相信大家都知道IGE的源代码出自飞尔早期泄露的源代码。

      说真的,这些混乱和不合理以及低水准的编程水平和方式不是韩国程序员的错。跟他们没有关系。

     

      服务端的程序尽可能减少不必要的开销,哪有什么东西都挤到一起的??

      就拿服务器启动器来说,配置项目以及开区清理这些,不应该放在主窗体上面进行处理。

      看到无尽长的代码挤在一份主执行文件里面,你的感受会如何??

     

      架构结构一定要合理,为什么,因为合理就等于是合理分配资源。

      为什么不应该在主窗体文件里面处理这些东西,因为我们知道,配置文件一旦生成,服务器启动后,这些东西就没有用了。

      可是它们这些超大量的控件和各种代码的开销仍然是不可避免的,然而却是浪费再浪费再再浪费的。

      这些仅仅只是一个启动器占用的资源,其它各个服务器占用的资源加在一起,值就大得多了,难怪很多GM说系统开销大。

      

      合理的做法应该是通过动态创建的方式另外创建窗体来执行这些。

      动态创建的好处是,在需要的时候创建,关闭的时候释放。

      而这些配置和清理都是在服务器启动之前进行的,所以启动后,不再影响系统的资源分配。

      而启动器只负责创建各个服务器的进程,这个是它的主要任务。需要分清楚。

     

      任务分清楚,功能模块要合理安排,暂时性的东西不要跟长期性的东西混在一起,关键还是那些变量的调用处理问题。

      否则代码一多,不说维护和扩展,就是查错就有得查了。

     

      所以不管你是采用IGE的源代码或者飞尔的源代码来开发,如果没有重新架构结构,没有清理各种混乱的代码。

      那么程序效率永远是100%低效的,并且BUG的隐患绝对存在的,哪怕你精力再好,也难以发觉这些隐患。

      那么混乱的代码,长长的抹脚布只会令人眼花头晕,想保持清醒的头脑,可能吗?

      显然,这些其实考验的不仅仅是一个人的代码理解能力,更重要的是考验一个程序员的编程架构能力。这些就是程序员的整体能力的体现。

      程序的高效跟你采用那种方式来开发没有绝对的关系,主要的是跟如何合理安排和分配资源有绝对的关系。

      这些我使用了绝对这个词,因为是肯定的。

      服务器啊服务器,它们的任务主要是处理数据和游戏逻辑,实际上,大量的资源都被这些无关的东西占用了。

      超大量的全局变量,这些是啥水平的编程水平??

      说真的,不应该出现在Delphi编程上面,因为面向对象的编程风格首先就不提倡这些做法。不属于Delphi这种严格的面向对象的编程方式。

      如果是其它语言或者是C++等,这个是值得理解的,但是Delphi,就很难令人不怀疑你的能力了。

      关于结构的东西就谈到这里,相信大家会明白怎么样去合理安排自己的代码结构。

      只多说一句:

      服务器编程,或者说Delphi游戏编程最好——尽量不要采用桌面程序编写的方式来进行。

      因为你需要把系统的资源交给最需要的绘图引擎和服务器数据和逻辑处理上面。

      尤其是以后的功能扩展所需要的资源开销,而不是浪费在无关的控件上面。

  • 相关阅读:
    SpringBoot Data Jpa基本使用
    spring cloud oauth2(五) 白名单设置
    spring cloud oauth2(四) 资源服务搭建
    spring cloud oauth2(三) 自定义授权类型 手机号+短信验证码
    spring cloud oauth2(二) 自定义授权类型 图片验证码
    spring cloud oauth2(一) 授权服务搭建
    设计模式 选自《闻缺陷则喜》此书可免费下载
    设计模式六大原则 节选自《闻缺陷则喜》(此书可免费下载)
    架构模式 节选自《闻缺陷则喜》(此书可免费下载)
    架构内容 节选自《闻缺陷则喜》(此书可免费下载)
  • 原文地址:https://www.cnblogs.com/GameDelphi/p/2635674.html
Copyright © 2020-2023  润新知