文章 "开发回放系统(第 35 部分):进行调整 (一)"

 

新文章 开发回放系统(第 35 部分):进行调整 (一)已发布:

在向前迈进之前,我们需要解决几个问题。这些实际上并不是必需的修正,而是对类的管理和使用方式的改进。原因是系统内的某些相互作用导致了故障的发生。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。

在上一篇文章《开发回放系统》(第 34 部分)中:订单系统 (三) ,我提到过该系统有几个相当奇怪甚至神秘的错误。这些错误或故障是由系统内的某些交互作用造成的。尽管我们试图找出这些故障的原因以消除它们,但所有这些尝试都没有成功。其中有些情况完全不合理,例如,当我们在 C/C++ 中使用指针或递归时,程序就会崩溃。第一步就是验证这些机制。但是,在 MQL5 中,这种情况的发生与 C/C++ 中的情况不同。在做了一些小修改后,我成功地解决了其中一个缺陷。虽然这个解决方案看起来并不优雅,但它却让其中一个故障彻底消失了。

不过,我们仍然需要对代码进行稍微大一点的修改,才能彻底消除影响系统运行的错误。它们可能已经在这里存在了很长时间,因为系统早期没有某些类型的交互。一旦这些交互开始发生,这些错误就会变得很明显。

现有的故障不会对系统运行产生负面影响,但却无法实现真正正确的运行。所有这一切都让用户在使用该程序时感到相当不愉快,甚至无法接受。第一个缺陷很容易解决,我们就从它开始。

作者:Daniel Jose