MetaTrader 5交易终端中的造型器 - 页 6

 
Renat :

当你自己收集、管理和支付代码库时,这个问题就会立即消失。

不,你毕竟是在笑。

定型器 与底座的关系如何?一个程序员的工具(他/她用来促进他/她的工作)与出版规则(可能与他/她的工作完全没有关系)有什么关系?

你自己说过,所有的代码在公布前都会被造型师自动 "梳理"。所以,在出版前 让他按照你的风格 "梳理 "一下,没有人争论这个问题。

把 "基础 "和 "造型 "的概念分开,一切都会水到渠成。



Renat:

还是你认为这里的所有事情都是免费完成的?

雷纳特,你很清楚,基地带来了收入(尽管是间接的)。

而且由于某些原因,你也免费赠送了终端。



Renat:

现在所有的谈话都只是关于 "它不好只是因为它不能定制 "的原则问题。

让我们继续讨论具体要点--指出哪一点,以及为什么造型师没有正确完成。

错的不是具体的行动,而是方法本身。

纠缠于一种(什么)风格是不可接受的。你们不是先锋,在你们之前已经有了几种不同风格的编程。每一种都有自己的优点和缺点,而且每一种都是用户熟悉的。

选择一个选项意味着你自动拒绝一半以上的程序员。你不会强迫他们重新培训。此外,许多人在有了其他语言编程的坚实经验后,开始用MQL写作。


解决办法很简单,也很明显--制作可定制的参数和一些标准样式。把你的默认,但允许改变其设置。相信我,新手(如果你突然担心他们会开始写 "错")永远不会进入这些设置!你会发现,这些设置是非常重要的。


要列出的设置实例?;)

 
谢谢你,有一点 "大括号前有多少个空格 "已经提出。我们放2,你放0。


让我们继续讨论下一个问题。

 
Renat :
谢谢你,有一点 "大括号前有几个空格 "的声音。我们放2,你放0。


让我们继续讨论下一个问题。

  1. = += -= *= /* -- ++ + - * /,"("后,","后和") "前的空格。
  2. 在缩进中用制表符而不是3个空格,那就再好不过了。
 
Renat :

让我们继续讨论下一个问题。

不要吃那么多苦。"在我们面前,一切都已经被偷走了。"

Astyle的物品清单 为例。你可能不会从uncrustify的完整清单 中得到启发,你可能也不需要它,但它在那里很简短和清晰--你可以选择你需要的东西。

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 
komposter :
  1. = += -= *= /* -- ++ + - * /,"("后,","后和") "前的空格。
  2. 在缩进中用制表符代替3个空格将是非常好的。


关于第2点:制表是邪恶的 - 试着在不同的编辑器中查看相同的代码...说句不好听的,会漂浮起来
 
mql5 :


关于第2点:制表是邪恶的 - 试着在不同的编辑器中查看相同的代码...说句不好听的,会飘起来的
小贴士:
  1. = += -= *= /* -- ++ + - * /,"("后,","后和") "前的空格。
  2. 在缩进中用制表符代替3个空格将是非常好的。


这就是为什么你不必用自己的方式来梳理它。每个人的脑子里都有自己的蟑螂。给人们提供面包和马戏团。我 们将为自己选择我们喜欢的东西。

 
mql5 :


关于第2点:制表是邪恶的 - 试着在不同的编辑器中查看相同的代码...说句不好听的,它将漂浮在空中

解决办法很简单,Tab(缩进)要么由Tab字符完成(那么它可能会浮动),要么由合适的空格数完成(那么所有地方都会一样)。

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 

第二点是 "用空格分隔操作 "的声音。


还有其他观点吗?

 
Renat :

第二点是 "独立的操作空间 "的声音。

还有什么其他观点吗?


class Class
{ // скобка на уровне объявления
private: // спецификаор на уровне объявления
   // приватные типы
   definition; // объявления и определения функций и членов с отступом
  
protected:
   // защищённые типы
   definition;
public:
   // публичные типы
   definition;

public:
   definition;
  
protected:
   definition;
  
private:
   definition;

}; // скобка на уровне объявления

枚举。

enum ProceedObject
{ // скобка на уровне объявления
   EPO_BAT,
   EPO_LEFT_BORDER,
   EPO_RIGHT_BORDER,
   EPO_UP_BORDER,
   EPO_DOWN_BORDER,
   EPO_FLOOR,
   EPO_CEILING,
   EPO_BRICKS, // значения по отступу,
}; // скобка на уровне объявления

如果。

if(condition1) 
{
   DoSomething();
   //...
}
else if(condition2)
{
   DoSomethingOther();
   //...
}
else
{
   DoSomethingOtherAgain();
   //...
}

糖果

switch(condition) 
{
    case 1:
    case 2:
        x = ...;
    break;
    case 3:
{
         x = ...;
//...
}
    break;
    default:
        x = ...;
    break;
}
 

具体的兴趣点是 "它现在是这样工作的,它应该这样工作"。


大括号的排列已经有了意见。

原因: