这就是风格!:)

 

前史: 在多年的编码工作中,我形成了一种 "个人 "的文本格式化风格(这里)。我的文本已经有很长一段时间是自动的,只有当我开始处理一些 "陌生 "的文本时,我才不得不使用Astyle。

我可以解释一下为什么我以这种方式格式化我的文本:标签的数量(向右移动加深的文本)与嵌套级别相对应。每一个开头的{开始一个新的层次,所以它是在一个单独的行上,缩进程度与前面的文本相同,而后面的所有文本都向右缩进。每一个闭合的}都会使文本退回一个标签。这样就很容易找到成对的括号(它们在垂直方向上应该处于相同的位置,而且Tab键按下的次数与文本的嵌套级别相对应。内部的+-><<用空格标点,这样文字就不会混成一团固体。对我来说,这很有意义,也很有道理。


昨天我收到了ml5的源代码,其中有一些奇怪的格式(从我的角度来看):大括号向右移动,在文本内移动了2个位置,而里面的文本也向右移动,但只移动了一个位置。我试着把制表符放在与开头{相同的位置,以便放上结尾}--没有成功。 结果发现,这样的格式化文本是Metaeditor5命令Styler。

有谁(也许是开发者)能解释一下Metaeditor5格式化的逻辑?

下面是MACD Sample.mq5的一段代码,以他们的方式和以我的方式。

Styler5                                  -|- Мой стиль
-------                                  -|- ---------
bool CSampleExpert:: LongModified()       -|- bool CSampleExpert:: LongModified()
  {                                      -|- {  
   bool res=false;                       -|-   bool res = false;
//--- check for trailing stop            -|-   //--- check for trailing stop
   if( InpTrailingStop>0)                 -|-   if ( InpTrailingStop > 0)
     {                                   -|-   { 
      if( m_symbol.Bid()- m_position. Price -|-     if ( m_symbol.Bid() - m_position. Pric
        {                                -|-     {
         if( m_position. StopLoss()< m_symb -|-       if ( m_position. StopLoss() < m_symb
           {                             -|-       {
            double sl= m_symbol.Bid()- m_a -|-         double sl = m_symbol.Bid() - m_a
            double tp= m_position. TakePro -|-         double tp = m_position. TakeProfi
            //--- modify position        -|-         //--- modify position
            if( m_trade. PositionModify( Sy -|-         if ( m_trade. PositionModify( Symbo
               printf("Long position by  -|-           printf(" Long position by % s to
            else                         -|-         else
              {                          -|-         {
               printf("Error modifying p -|-           printf(" Error modifying positi
               printf("Modify parameters -|-           printf(" Modify parameters : SL
              }                          -|-         }
            //--- modified and must exit -|-         //--- modified and must exit fro
            res=true;                    -|-         res = true;
           }                             -|-       }
        }                                -|-     }
     }                                   -|-   } 
//---                                    -|-   //---
   return( res);                          -|-   return( res);
  }                                      -|- }
 

ForexTools писал(а) >>

事实证明,这就是Metaeditor5的Styler命令的格式。

有谁(也许是开发者本人)能向我解释一下Metaeditor5的格式化逻辑?

我加入了这个问题,我也一直想知道。

 

不要在没有逻辑的地方寻找逻辑。你最好做一个错误报告。

=)

 

也总是提出问题。:(

然而,我确实坚持采用类似Java的风格。

 
sol >> :

不要在没有逻辑的地方寻找逻辑。你最好做一个错误报告。

=)

阅读《帮助》,因为这一切都在那里。


 
sol >> :

最好做一个错误报告。

这毕竟不是一个错误(纯粹的和简单的)。这只是 "他们这样看 "而已 :)

我想先了解其逻辑,如果有的话。

 
Rosh >> :

阅读帮助,因为它说明了一切。

帮助》说的是如何做,但没有说为什么它被认为是正确、方便、有效的,....。

对于这样的操作,有必要设置样式器选项(例如,查看Astyle的文档)。

开口括号:

- 向右移动:空格数

- 换行:之前或之后

等。

 
ForexTools >> :

我想先了解其逻辑,如果有的话。

其逻辑是,代码与嵌套层对齐。这里没有异议,我们可以看到。

但开头和结尾的括号不是代码,而是设计元素,所以它们略微超出代码一个字符。

 

Rosh писал(а) >>

另一方面,开括号和闭括号不是代码,而是设计元素,所以它们稍微超出代码 一个字符。

在我看来,块状括号是代码的一个重要部分,突出了一个逻辑或功能块。那么,为什么他们不应该被定位,以便他们真正履行这一职能呢?我们先不谈运营商周围的空间等问题。

 
Rosh >> :

其逻辑是,代码与嵌套层对齐。这里没有异议,我们可以看到。

你的想法和其他用户觉得自己方便的想法是有区别的;)

我认为这个问题很容易通过额外的造型器设置来消除。我相信这不是最难做的事情。

 

谢谢TheXpert,不知为何我甚至没有注意到这个 "段落"

А вот открывающие и закрывающие скобки не являются кодом, а являются элементами оформления

好吧,不要找借口说这是以某种方式完成的,现在你至少要解释一下;)

设计元素是注释,你可以删除它们而不损失任何功能!!试着只删除一个这样的 "元素"(我指的是})--编译器会把你送到哪里?:))))