記事についてのディスカッション

 

新しい記事「プロのプログラマーからのヒント(第I部): コードの保存、デバッグ、コンパイルプロジェクトとログの操作」はパブリッシュされました:

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。

ターミナルプログラムファイルはMQL5ディレクトリの下にあります。このカタログは、いわゆる「サンドボックス」で、外部からのデータアクセスはできません。これは良い決断ですが、DLLを使用すると、おそらくどこにでもアクセスできるようになります。

たとえば、Caymanプロジェクトの構造は次のとおりです。

  • /Experts/Cayman/ - エキスパートアドバイザー
  • /Files/Cayman/ - データファイル(設定、パラメータ)
  • /Include/Cayman/ - クラス(関数)のライブラリ
  • /Scripts/Cayman/ - 主な操作スクリプト
  • /Scripts/CaymanDev/ - 開発者向けスクリプト(デバッグに使用)

この配置の主な利点は次のとおりです。

  • TotalCommanderを介したプロジェクトファイルのみのコンテキスト検索
  • Gitによるバージョン管理(制御はプロジェクトファイルに対してのみ有効になり、他のすべてのファイルは無視される)
  • 別のターミナルに簡単にコピー(デモ->リアル-リリース)

作者: Malik Arykov

 

ありがとう。良い、役に立つ記事だ。

 
興味深い)私のライブラリをリンクで添付しました。私は6つの異なる端末を持っていて、それぞれの端末にライブラリのコピーがあるととても不便です。しかし、ここではすべての端末で常に同じです。.gitattributesファイルを使用していますか?もしそうなら、どのような形で?
 
良い記事だ。以前は念のため、いつもこのようにシステムディスク以外のディスクにドキュメントをドラッグしていた)。
 

Bitbucketにはデフォルトでごく普通のバグトラッカーがあるので、外部でバグトラッカーを立ち上げる必要はありません。

リンクはアマチュアのためのもので、リポジトリを通して作業する方が簡単です。

外部エディタについての興味深い意見、特に著者のスクリプトへの愛情を考慮すると

 
Andrei Novichkov:
.gitattributesファイルを使用していますか?もしそうなら、どのような形で使いますか?

必要ないので使いません。バイナリファイル(画像やdocxを含む)とその差分には関心がありません。私が気にするのは、自分のプログラムのテキストと その履歴だけです。

 
Andrei Trukhanovich:

Bitbucketには、デフォルトでごく普通のバグトラッカーがあるので、外部でバグトラッカーを立ち上げる必要はありません。

リンクはアマチュアのためのもので、リポジトリを通して作業する方が簡単です。

外部エディタについての興味深い意見、特に著者のスクリプトへの愛情を考慮すると

1) カンバンボードはバグトラッカーではない。ケイマンプロジェクトの複数のリポジトリ(MQL4、MQL5、WebSite)のタスクを1つのボードで管理できます。

2) 同じMQL5のコンテンツを持つ端末が2つある場合、それぞれのMQL5にはローカルリポジトリと 共通のクラウドリポジトリが 1つずつあるということを正しく理解しました。もしそうなら、状況を想像してみましょう。1台のMQL5で変更を加え、2台目のMQL5に適用したいとします。あなたのアクション

  • 最初のMQL5をプッシュする - クラウドでバージョンをコミットする
  • 2番目のMQL5をプルする - バージョンを更新する。

なぜこんなにステップが多いのですか?

3) 私は快適さが好きだ。スクリプトをワンクリックするだけで、多くの作業をこなせる。NPPは、ログをハイライトすることで快適さを与えてくれる。例えば、ここでは例として 私のログをNPPでハイライトしてみました。トークン //, Error, todo を含む行のハイライトは、拡張子 *.txt, *.log のファイルの構文で記述されているため、自動的に行われます。

ログハイライト

 

bitbucketにもカンバンを備えた無料のプラグインがある。

Malik Arykov:

    なぜそんな面倒なことをするのか?

    それが正しいことだからだ。

    ターミナルが異なれば、インスタンスも異なる。言うまでもなく、あるターミナルではデバッグ作業を行っていても、別のターミナルではデバッグ作業を行っていることもあり、また、ターミナルの機器設定や取引条件も根本的に異なることがある。

    さらに、ターミナルがコンパイルされた新バージョンを拾うかどうかというニュアンスもある(もし今ターミナル上でコードが動いているなら、コンパイルはしない方がいい)。

    リポジトリについて話し始めてから、シンボリックリンクの使用を勧めるのは奇妙だ。

     
    Andrei Trukhanovich:

    リポジトリについて話し始めてから、シンボリック・リンクの使用を勧めるのは奇妙なことだ。

    さて、このリンクは同じローカルリポジトリ(すべての端末で1つのMQL5(*.mq?、*.ex?)

    同時に、各端末にはそれぞれ特徴がある。例えば、私はAppSettings.txt、アナライザーのパラメーター、ターミナルの設定などを持って います。(.gitignoreで指定)。

    それぞれの(どの)ターミナルからでも「Edit」を呼び出すことができ、同じコードを修正していることを確認できる。

     
    Malik Arykov:

    それぞれの(どの)端末からでも "Edit "を呼び出すことができ、同じコードを修正していることを確認できる。

    それこそ怖いことだ(笑)。

    しかし、ボスはボスだ。

     

    Git にプライベート・リポジトリーが追加されました。

    ネイティブのGit Desktopはmq4/mqhファイルをバイナリと認識する。属性で diff を指定しても、アプリケーションで変更を確認する方法がわかりません。ファイルのバージョンを便利に比較するための解決策があれば教えてください。

    ----

    MTEditor でファイルを UTF-8 エンコーディングで保存すれば、Git Desktop で比較を見ることができます。