MetaTrader 5の取引端末に搭載されたStyler - ページ 6

 
Renat :

Code Baseを自分で集め、管理し、お金を払うとなると、その疑問はすぐに解消されるでしょう。

いや、やっぱり笑っちゃうよね。

スタイラーと ベースの関係は?プログラマーの道具(自分の仕事を円滑にするために使うもの)と、出版のルール(自分の仕事とはまったく関係ないかもしれない)はどう関係するのだろう。

すべてのコードは、公開前にスタイリストによって自動的に「コーミング」されるとご自身でおっしゃっていましたね。だから、出版前に あなたのスタイルで "櫛 "でとかせばいいんです!誰もそれについて議論していません。

ベース」と「スタイリング剤」という概念を分離すれば、すべてがうまくいく。



レナート:

それとも、このあたりはすべてタダでやってくれると思っているのでしょうか?

レナト ベースが(間接的とはいえ)収入をもたらすことはよくご存じでしょう。

しかもなぜか端末も無料配布しているんですよね。



レナート:

今は「カスタマイズできないからこそ悪い」という原則論ばかりが語られています。

具体的なポイントに移りましょう。どのポイントで、なぜそれがスタイリストによって正しく行われないのかを示してください。

間違っているのは、具体的な行動ではなく、そのアプローチそのものです。

一つの(どんな)スタイルにこだわることは許されない。あなた方はパイオニアではなく、すでに何種類ものプログラミングのスタイルが先に確立されているのです。それぞれにメリット・デメリットがあり、ユーザーにとって身近な存在です。

1つの選択肢を選ぶということは、半数以上のプログラマーを自動的に不採用にするということです。再教育を強制することはありません。さらに、他の言語でのプログラミングをしっかり経験した後にMQLで書き始める人も多い。


解決策は単純明快で、カスタマイズ可能なパラメータと、いくつかの標準的なスタイルを作ることです。デフォルトであなたのものを置くが、その設定を変更できるようにする。信じてください、初心者は(いきなり「間違って」書き始めることを心配しているのなら)これらの設定に入ることはないでしょう


リストアップする設定例?;)

 
ありがとうございます。「中括弧の前に何個のスペースを入れるか」という点が1つ改善されました。私たちは2を入れ、あなたは0を入れる。


次のポイントに移りましょう。

 
Renat :
ありがとうございます。1点、「中括弧の前に何個スペースがあるか」という声があります。私たちは2を入れ、あなたは0を入れる。


次のポイントに移りましょう。

  1. = += -= *= /* -- ++ + - * /, "(" の後, "," の後, ")" の前にスペースがあります。
  2. インデントでスペース3つではなくタブがあれば全く最高です。
 
Renat :

次のポイントに移りましょう。

そんなに苦しまないでください。"全てはすでに我々の前に盗まれている"

アスタイルのアイテムリストを見て みましょう。uncrustifyの全リストを見ても、おそらくインスピレーションは湧かないでしょうし、必要もないでしょうが、そこは簡潔明瞭で、自分に必要なものを選ぶことができるのです。

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 
komposter :
  1. = += -= *= /* -- ++ + - * /, "(" の後, "," の後, ")" の前にスペースがあります。
  2. インデントのスペース3つではなく、タブがあれば最高です。


ポイント2:集計は悪である - 同じコードを異なるエディタで見てみる...が浮く、控えめに言っても
 
mql5 :


ポイント2:集計は悪である - 同じコードを異なるエディタで見てみる...浮く
komposter:
  1. = += -= *= /* -- ++ + - * /, "(" の後, "," の後, ")" の前にスペースがあります。
  2. インデントのスペース3つではなく、タブがあれば最高です。


だから、自分なりに梳く必要はないんです。みんな自分の頭の中にゴキブリがいるんだよ。民衆にパンとサーカスを与えよう。好 きなものを自分たちで選んでいく。

 
mql5 :


ポイント2:集計は悪である - 同じコードを異なるエディタで見てみる...控えめに言っても、浮いてしまう

解決策は簡単 で、タブ(インデント)はタブ文字で行うか(そうすると浮く可能性がある)、適切なスペース数で行うか(そうすると全てどこでも同じになる)である。

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

2点目の「操作をスペースで区切る」という声が上がる。


他に何かポイントはありますか?

 
Renat :

2点目の「オペレーションスペースの分離」の声が上がる。

他に何かポイントはありますか?


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, // значения по отступу,
}; // скобка на уровне объявления

Ifs:

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

スイーツ

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

具体的なポイントとしては、「今はこう動いているが、こう動くはずだ」ということです。


ブラケットの位置合わせは、すでに声が出ています。