对MQL5的反馈 - 页 7

 
Renat Fatkhullin:

文体家对规则的描述不能用几行虚构的文字来概括。

它的格式是我们所规定的方式。

你好!

事实上,造型器 的格式只有你铺设的方式,而没有其他的,这有点奇怪。让我解释一下。

MT是一个Windows平台。Windows的主要开发工具是MSVC,而MT是用MFC编写的。这个库采用了Kernighan和Ritchie的缩进和格式化标准的变体。因此,对于一个一生都在使用MSVC的人来说(Windows中的大多数人),看到3个空格作为制表符,在"{"前有2个额外的空格,而且在直线(if,for...)和括号后面没有空格,这有点可笑,而且干扰了代码阅读。我知道你们采用这种格式作为公司的标准,但它并不适用于其他开发者。

这就是为什么我建议引入一些造型器设置,每个人都会说非常感谢。

 
SeriousRacoon:

你好!

事实上,样式器 只按你想要的方式进行格式化,而不按其他方式进行格式化,这有点奇怪。让我解释一下。

MT是一个Windows平台。Windows的主要开发工具是MSVC,MT库是用MFC编写的。这个库采用了Kernighan和Ritchie的缩进和格式化标准的变体。因此,对于一个一生都在使用MSVC的人来说(Windows中的大多数人),看到3个空格作为制表符,在"{"前有2个额外的空格,而且在直线(if,for...)和括号后面没有空格,这有点可笑,而且干扰了代码阅读。我知道你们采用这种格式作为公司的标准,但它并不适用于其他开发者。

所以我建议引入一些造型器的设置,大家会说非常感谢。

一个小小的更正,微软的代码风格不是K&R的标准。K&R标准基本上是一个大括号的区别,它的设计是为了在PDP-11和其他字母数字显示器的屏幕上尽可能多地容纳几行--80个字符*25行。顺便说一下,这里有本书的链接,也许有人会觉得有用 http://rabus.ru/KernighanRitchie_C/index.html#content

/* подсчет строк, слов и символов */
main()
{
    int с, nl, nw, nc, state;
    state = OUT;
    nl = nw = nc = 0;
    while ((с = getchar()) != EOF) {
        ++nc;
        if (c == '\n')
            ++nl;
        if (c == ' ' || c == '\n' || c == '\t')
            state = OUT;
        else if (state == OUT) {
            state = IN;
            ++nw;
        }
    }
    printf(“%d %d %d\n”, nl, nw, nc);
}

否则我同意,而且已经写了大约100500次了。就个人而言,我把所有MQL第三方文本带到工作室,在那里重新格式化。

 
Alexey Volchanskiy:

稍微更正一下,微软的代码风格不是K&R标准。K&R标准主要是一个大括号的区别,它的设计是为了在PDP-11和其他字母数字显示器的屏幕上尽可能多地容纳一些行--80个字符*25行。顺便说一下,这里有本书的链接,也许有人会觉得有用 http://rabus.ru/KernighanRitchie_C/index.html#content

否则我同意,而且已经写了大约100500次了。就个人而言,我把所有MQL第三方文本带到工作室,在那里重新格式化。

是的,区别在于开头的括号,其他方面相似,这就是为什么我称它为 "变体"。

如果МТ环境有用户工具,那就更容易了,我可以附加第三方的美化器,但这是不可能的。可以选择使用第三方编辑器,支持用户工具的stdout输出(Editplus是一个经典,但还有更有趣的解决方案),但这只是一个额外的拐杖。我使用UniversalIndentGUI中配置的Unscrutify。

 
 
urusov:

请。

https://www.mql5.com/ru/forum/35326

https://www.mql5.com/ru/forum/1111/

请说出一种常用的语言,我不能给指针分配不同的地址?请说出其他一种广泛使用的语言,我不能将同一类型的引用分配给不同的对象?由于你的语言的这些限制,我还会在哪里被迫 描述一个构造函数或复制函数?

如果可控性对你来说是最重要的,为什么其他受控语言不施加类似的限制?

就我个人而言,首先不是安全和可控性,而是我能够实现一个想法的速度;这在交易想法方面是极其正确的;那些不同意这一点的人要么高估了他们系统的价值,要么是为了编程而编程,而不是为了一个具体的结果。

C#你知道,它现在是一种工业语言,已经在很大程度上取代了商业/互联网应用中的C++。因此,没有指针,或者说它们是存在的,但不安全,没有人需要不安全的代码,只是为了个人工艺品。
 
Alexey Volchanskiy:
C#你知道,它现在是一种工业语言,已经在很大程度上取代了商业/互联网应用中的C++。因此,没有指针,或者说有,但不安全,没有人需要不安全的代码,只是为了个人的工艺品。
C sharp对普通人有什么好处?
 

而为什么裸体的指针会如此糟糕?如果你不做严格的别名优化,指针在一般情况下是相当安全的(msvc做到了这一点)。

总的来说,所有这些关于安全的讨论只是掩盖了真正的原因,正如之前所说的那样。原因很简单,我认为--不允许以任何方式知道要传递给dll的函数的地址。埋在地下的系统不需要外部世界。

 
还是说MC可以用正常的colbacks?我有一个想法,这个话题是不是禁区?
 
Alexey Volchanskiy:
C#你知道,它现在是一种工业语言,已经在很大程度上取代了商业/互联网应用中的C++。因此,没有指针,或者说,它们是存在的,但不安全,没有人需要不安全的代码,只是为了个人工艺品。

顺便说一句!

从前我遇到过一个C语言Pascal 语言的比较

C语言 是在山路上以每小时180公里 的速度驾驶一辆法拉利

帕斯卡尔 语言是在宽阔的单行道上以每小时40 公里的速度安静地乘坐一辆豪华轿车。

C是指,像一个真正的男人的语言)。

在C区,你得盯着路标看 :-)C语言不适合胆小的人,因为如果你不遵循标志,你有可能在发夹弯上飞出轨道。

C语言是操作系统和实用程序、驱动程序的语言。 C最初是由专业人员编写的,他们为用户编写操作系统和实用程序。

Pascal最初是用C语言为学生编写的,Pascal是作为一种教学语言编写的。

工具的目的和用途的差异是显而易见的。

MQL本质上是C语言的衍生物,MetaQuotes开发者的选择在专业上是非常正确的。

 
Yuriy Zaytsev:

顺便说一句!

很久以前,我遇到了一个C语言Pascal 的比较。

C语言 是在山路上以180公里/小时 的速度驾驶一辆法拉利

帕斯卡尔 语言是在宽阔的单行道上以每小时40 公里的速度安静地乘坐一辆豪华轿车。

C是指,像一个真正的男人的语言)。

在C区,你得盯着路标看 :-)C语言不适合胆小的人,因为如果你不遵循路标,就有可能在发夹弯上飞出轨道。

C语言是操作系统和实用程序、驱动程序的语言。 C最初是由专业人员编写的,他们为用户编写操作系统和实用程序。

Pascal最初是用C语言写给学生的,Pascal是作为一种教学语言写的。

工具的目的和用途的差异是显而易见的。

MQL本质上是C语言的衍生物,MetaQuotes开发者的选择在专业上是非常正确的。

用什么语言写作有什么区别呢?

(毕竟,你可以用Pascal写驱动和其他一切)。

重要的是要了解你做什么和怎么做,而编程语言是一个双重的问题!