MetaEditorの使いやすさへの提案

 

こんにちは、私は、VisualStudioで行われているように、コードを書くときにMetaEditorでインデントを標準化することを開発者に提案 したいと思います。関数やブロックには標準的なインデントがないためです。その結果、コードの可読性が低下する。また、コードをコピー&ペーストすると、ある行は左に、ある行は右にと、挿入が歪んでしまいます。直していただけませんか。また、全てのコードを自動的にインデントでボタン正規化できるように、VisualStudioにも実装されている

 
Fresto:

こんにちは、私は、VisualStudioで行われているように、コードを書くときにMetaEditorでインデントを標準化することを開発者に提案 したいと思います。関数やブロックには標準的なインデントがないためです。その結果、コードの可読性が低下する。また、コードをコピー&ペーストすると、ある行は左に、ある行は右にと、挿入が歪んでしまいます。直していただけませんか。また、全てのコードを自動的にインデントでボタン正規化できるように、VisualStudioにも実装されています。


コードを読みやすくするには、スタイラスを使用します:スタイラー - ソースコードを操作する - プログラム開発 - メタエディタ

Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым...
 

標準化されています。コードスタイラー(Ctrl+、)を使用します。

 
この機能には気づきませんでした)マウスの右ボタンがあるはずだと思っていました)ありがとうございます)。

P.s.今はなんと簡単に何でも美しくできるのでしょうか、苦労してスペースを入れたり、自動で一気に美しく書くことに慣れたり、などなどです。
 
Ihor Herasko:

標準化されています。コードスタイラー(Ctrl+、)を使用します。


コードスタイラーには、K&Rのようなコードスタイルが1つあり、ほとんどのプログラマーは着実にうんざりしています。私はVSでFormatMQLプロジェクトを持っていて、ソースへのリンクを作り、それをしっかり使い、人間のMSスタイルに再フォーマットしようと思っています。

 

素晴らしいテーマですね。また、Sublime Text 3に限りなく近いMQLEditorを提案したいと思います:)ブロックコメントやブロックインデントをキー操作で即座に制御できるようになったのは、本当にありがたい。コード「アーキテクチャ」等のサイドハイライトをご覧ください。

 
Alexey Volchanskiy:

スタイラーはK&Rのようなコードスタイルが1つで、ほとんどのプログラマーは着実にうんざりしています。VSにFormatMQLプロジェクトを持っていて、しっかり使うソースにリンクして、人間用のMSスタイルに再フォーマットしています。

そんなことはありません。私は2つの異なる環境で2つの異なる 書式で書いています。吐き気がするようなことはありません。

だから、作り込まないで、慣れればいいんです。

 
Rashid Umarov:

全くありません。私は2つの異なる環境で2つの異なる 書式で書いていますが、吐き気がするほど ではありません。

だから、作り込まないで、慣れれば いいんです。

当然、何しろ会社の従業員ですからね。エディターでコードスタイルを選べるようになると良いですね。慣れたくないんです。
 
Mikhail Kontsevoy:

足りないのは、ブロックコメント、ブロックインデント制御を一度に行うためのキーボードショートカットです。

編集]-[詳細設定]メニューをご覧ください

 

そう、MQのスタイルは問題なのです。しかし、調整くらいならと説得するのは無理な話です。この問題は、すでに10年前のものです。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

なんというスタイルなのでしょう。:)

セルゲイ・クラヴチュク, 2009.11.24 11:27

前史: 長年のコーディングの中で、私は「自分流」のテキストフォーマットを開発しました(こちら)。私のテキストは長い間自動再生で書かれてきたので、「異質な」テキストを扱うときだけAstyleを使うことにしているのです。

なぜこのような形式にしているかというと、タブの数(テキストの奥で右にずれる)がネストレベルに対応しているからです。それぞれのオープニング{は新しいレベルを開始するので、前のテキストと同じインデントで別の行になり、それ以降のすべてのテキストは右側にインデントされます。を閉じるごとに、テキストは1タブ分戻ります。これにより、対になる括弧を簡単に見つけることができます(縦に同じ位置にあるはずで、Tabキーを押した回数がテキストの入れ子レベルに対応します)。内部の+-><はスペースで区切り、文字がドロドロに混ざらないように配慮しています。私にとっては、これは理にかなったことで、納得のいくことです。


中括弧が2箇所右に移動し、その中のテキストも1箇所だけ右に移動しています。タビュレーターを使って、同じ位置で開閉記号{を付けようとしましたが、うまくいきませんでした。

どなたか(たぶん開発者自身)、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);
  }                                      -|- }

そしてさらに

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MetaTrader 5 の Styler

コンビネーター, 2009.11.24 14:10

MQL5 スタイラーについて説明する。ここから スタート


違うコードを見ないといけない。下手くそなのも含めて。

良いフォーマットは、コードを読むことをかなり容易にします。


したがって、イミテーションは、特定のフォーマットとオプションの欠如のために、通常のコーダーの大多数によって、モノが主張されないままである。

カスタマイズを加えるか、本当に一般的なスタイルでフォーマットするか、どちらかをお勧めします。

オプションとして、2~3種類のスタイルから1つを選択できるようにする。


 
Stanislav Korotky:

そう、MQのスタイルは問題なのです。しかし、調整くらいならと説得するのは無理な話です。この問題は、もう10年も前の話です。

そしてさらに

大きな差はありませんが、MQのフォーマットスタイルが優れていることは否めません。