作为一个专业的程序员,我想从 "终端 "得到什么。另一个主题是对MQL5的祝愿。 - 页 6

 
Korey писал (а)>>
大约四分之一的数字算法使用了Goto,如果一个算法被试用、批准、测试,但它不能被使用,那怎么办?
到MT的时候没有goto?

把这些功能塞进一个dll中,或者删除goto。

我仍然想知道你说的是什么算法。

 

我加入Korey。没有人见过用goto实现的任何别致的算法?所有这些被害人的歇斯底里只是某种宗教,而不是实际需要。一个有能力的编码员也可以用goto写出清晰准确的代码,而且它比有条件跳转的同等代码更易读。

P.S.似乎维斯自己批评了goto,但还是把它留在了他的脑海中。而在C++这种 "结构化中的最结构化 "语言中,goto似乎并没有消失。我不接受关于与C语言向后兼容的反对意见。

 
TheXpert писал (а)>>

实际上,使用goto是一种不好的编程风格,在99%的情况下,使用它的代码可以用现有的条件语句的类似代码来代替。

我不同意。

你可以改写它。但你也可以说,一种语言中没有goto是一种不好的风格,99%的代码都可以根据它的使用来重写。

例如,我真的很怀念goto来退出带有循环的复杂嵌套的if-else结构。如果在结构深处的某个地方计算出退出分析的必要性,我必须为所有这些附件写一个额外的退出标志分析,我觉得很不方便。它使代码过载。记住国旗的状态并在分析之外去做,要容易得多。

它不一定要传到标点。这一点已经讨论过了。我们可以在一个外部(命名的)块(操作符、循环--任何有大括号的主体)后面传递它。

 

好吧,SK. 已经写出了我想问正确的风格狂热者的内容(例如,走出五重嵌套的if-else的深度)。

 
TheXpert писал (а)>>

把这些功能塞进一个dll中,或者删除goto。

我仍然想知道你说的是什么算法。

它是关于Fortran作为数值方法的主要来源。
它的一切都经过了美国工程师协会的测试和批准。
这里没有问题--我们用DLL工作,就是这样)))。
而且好像是这样的--你想直接插入到MQ代码中,但你必须深耕细作,这是很耗时的算法。

P.S. 和最重要的危险。

 
Mathemat писал (а)>>

我加入Korey。没有人见过用goto实现的任何别致的算法?所有这些被害人的歇斯底里只是某种宗教,而不是实际需要。一个合格的编码员也可以用goto写出清晰准确的代码,而且可能比有条件跳转的同等代码更易读。

P.S.似乎维斯自己批评了goto,但还是把它留在了他的脑海中。而在C++这种 "结构化中的最结构化 "语言中,goto似乎并没有消失。反对意见

我不接受与C的任何向后兼容。

我不打算反对。这就对了。

SK. 写道(a)>>

我不同意。

有可能改写它。但你也可以说,语言中缺乏goto是不好的风格,99%的代码都可以根据它的使用而重写。

例如,我真的很怀念goto来退出带有循环的复杂嵌套的if-else结构。如果在结构深处的某个地方计算出退出分析的必要性,我必须为所有这些附件写一个额外的退出标志分析,我觉得很不方便。它使代码过载。记住国旗的状态并在分析之外去做,要容易得多。

它不一定要传到标点。这一点已经讨论过了。我们可以在(命名的)块(操作符、循环--任何在大括号内有主体的东西)之外传递它。

断了就没有用了?


总而言之,每个人都有自己的风格和理解,这就是事情的结局。

SK。 如果你有任何问题,请与我联系,我将帮助你,但要看是否有时间。

 
TheXpert писал (а)>> 休息不会做?

这只适用于循环或开关(顺便说一下,这不是一个非常必要的结构,它同样可以优雅地被if...else链取代)。一切都是相对的。

 
TheXpert писал (а)>>

断不会做?

一般来说 -- 每个人都有自己的风格和理解,让我们在这一点上结束这个话题。

SK。 如果你有任何问题,如果我有时间,我会帮助你。

休息是不行的。它的效果是有限的。

而且你不应该粗鲁。

 
SK. писал (а)>>

而且你不应该粗鲁。

我并不这么认为。

 
Korey писал (а)>>

它是关于Fortran作为数值方法的主要来源。
它的一切都经过了美国工程师协会的测试和批准。
这里没有问题--我们用DLL工作,就是这样)))。
并如实存在--你想直接插入MQ代码,但你必须重写算法,这相当耗费时间。

P.S. 最重要的是,这很危险。

Fortran,有goto。但这与数字方法的效率没有关系。在MatLab中,它实现了同样多(甚至更多)的功能,而且那里没有Goto。Goto 的历史可以追溯到汇编语言编程风格(移动到标签)。这个运算符看似简单,其实是一种误导。假设有五个if 附件 else。而 确实在你需要的地方得到了 ,仅此而已,但随后还有局部和全局变量、堆栈、指针、数组等等。如何处理它们?在汇编器中实现 附件的正确输出,考虑到所有可以想象的错误(()。即使在高级语言中也很难搞清楚如何正确地做,而在汇编中则是一团糟。

如果我是开发者,我会尝试让MQL5 允许附加用MathCad(MatLab)编写的程序。这将是简单和容易的(而且不是右手放在左耳上)。这相当于节省了数十亿的工时+在处理数据的能力上迈出了一大步。为了赋予这种能力,以及改善终端的主要努力