バグ、バグ、質問」ブランチから。
設計の初歩で非常に典型的な問題、つまり、プログラムのイベントの処理をどのように整理(構造化)すれば、そのプログラム(プログラム)をさらに発展させることができ、同時に、すでに行われたことを最小限にやり直すことができるかということである。
オプションのご相談は?
たとえば、こんな文献はありませんか?
私は紙に描くので、その方が都合がいいのですが、明確な構造ができるまで50枚くらいかかることもあります。spets.editorで確かにできますが、私のためにそれらの各々は、(限られた)不快、空想の飛行を実現することは不可能、要するに、仕事を遅らせる。
- ru.wikipedia.org
最もシンプルなオプションがある
int main() { while ( !IsStopped() ) { switch ( GetEvent() ) { case TIMER : case BUTTON : case LISTVIEW: case CALENDAR: case CLOSE : case ERROR : default : } } }
構造とは何か?
ZS: 私はこのように教わりました。
1.関数でできることは、すべて関数の中にある。
2.ゴトは罪である
3.すべての条件が最低限であり、1つの条件に重複がないこと。
4.3.インデント
5.自分の後に他の人が読めるような書き方をしなければならない。
6. 明確で意味のある変数名
7.コメント、でもやりすぎは禁物
こんな感じですが、こんな感じではありません: http://korzh.net/2011-03-pravila-xoroshego-tona-v-programmirovanii.html
- korzh.net
先着順です :)まずは、あなたにとってそれがどのようなものなのか、教えてください。
まあ、そうだろうなとは思っていたのですが...。))
OK、(構成上)特に隠すことはない、ディスカッションは怖くない。
しかし、すぐに決めつけたり、急いで批判したりすることはお勧めしません。私は自分の判断に「模範的な」、あるいはどんな種類の調和も想定していません。その質量において、それらは特に根拠がなく、同じ「宗教」要因-習慣、「本の真実」、フォーラムの記事、標準的な端末配信のサンプル、その他頭の中に自然に集約されたゴミ-によって生成されています。 いくつかの発見はありますが、それほど深刻なものではありません。
まず始めに、混乱が少なくなるように、便利な用語をいくつか提案したいと思います(たくさんあると思いますが)。
1) 物理的なプロジェクトの 構造: ファイルやフォルダーなど、プロジェクトの "外 "から見えるものの構成。
2) 論理的なプロジェクト構造:変数、関数、クラス、プロトコルなど、すべての「内部」ソフトウェアの組織化。
-----------------
私のmql-projectの物理的な構造は、非常にシンプルで原始的なものです。私は意識的にそうすることで、混乱を減らし、起こりうる混乱の結果を最小限に抑えようとしているのです。
原則として(中規模なものは).mqhファイルのセット(適切なフォルダに配置)+mq5ファイル1つです。
// システムがマルチスレッドである場合(例えば、最も単純なケースでは、Expert Advisor +指標) - mq5-files の数は、プロジェクト内のプログラムの数に対応します。
私は、(.ex5)ライブラリは使わないようにしています。 // 非常に議論のある決定ですが、ランタイムの問題を最小限にするためにそうしています。
--
論理的なプロジェクト構造についてのコメントは、ひとまず控えさせていただきます。このテーマは非常に大きいので、息抜きが必要です...。:)
CADはちょっと違いますが、コンピュータ支援設計のことです。
プログラムを書く前に、簡略化したアルゴ言語をスケッチすることを教わったが、慣れることはなかった。
問題の全体像を可視化し、問題を構成する主要なオブジェクトを特定するようにしています。
そして、オブジェクトを構成要素に分解し、構成要素の交わりを探すと、祖先オブジェクトが現れます。
そういうものなんです。
もし、プロジェクトの中で、すでに遭遇したことのあるエンティティを見つけたら、古い検証済みのコードを使うようにしています。
デザインのことなら、ケンカをやめてMQスタイルを採用すれば、スタイラーの ボタンを1回クリックするだけで、すべてのスタイルが統一され、誰もが理解できるようになるのです。
libs (.ex5) は使わないようにしています。 // 非常に議論のある解決策ですが、ランタイムの問題を最小限にするためにそうしています。
タスクの全体像をイメージし、そのタスクを構成する主要なオブジェクトを特定するようにしています。
そして、オブジェクトを構成要素に分割し、構成要素の交点を探すと、祖先オブジェクトが現れるのです。
そういうものなんです。
以前見たことのあるオブジェクトの実体をプロジェクトで見つけたら、古い検証済みのコードを入れるようにしています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
最もシンプルなプログラムから複雑なソフトウェアパッケージまで。
--
プロはぜひこのスレッドを応援してください。
テーマの大きさとその「宗教性」(*)、その結果として起こりうる枝葉の混乱や対立は理解しています。
しかし、私は、誰もが恩恵を受けることができるように、サポートをお願いします。賢明な(可能性の高い)アイデアは、しばしばゴミの山から見つかるもので、人はただ気づくことができ、やがて「手に入れる」ことができるようになります。
----
(*) ここでいう「宗教的なもの」とは、プログラマがしばしば習慣や伝統、文学的な資料に基づいてプログラム構造を構築し、常識や自分や他の人(たとえば将来の共同執筆者)にとって本当に便利なものを期待することは全くないという事実を理解することである。