31を超える長さの標準定数

こんにちは
ヘルプ: MQL4リファレンス – 標準定数 – エラーコードは> 31文字の長さです。
たとえば、コンパイラはエラーをスローします。
'ERR_GLOBAL_VARIABLES_PROCESSING_ERROR' – 長すぎる変数名C:\ Program Files \ MetaTrader 4 \ experts \ …
インラインのハードコードされた定数値を使用しこの問題を回避するのは簡単です。
しかしながら、識別子はMetaQuotesがいつでも変更することができる定数値に頼ることからソフトウェアを取り除きます…
答えていただければ幸いです。
よろしく
ええと

もっと短い定数名(31文字以下)を使わないのはどうしてですか?
ハードコードされた定数値を使用するときのように極端に進む必要はありませ ん。
(私の実際的な目的のために、定数名のための31文字は本当に長いです)。

ホタル:あなたの答えをどうもありがとう。
ハードコーディングされた定数値を使わないことについてのあなたのコメントを理解します – これは一般的には良い考えではありません – メンテナンスは悪夢になることができます – 笑
私は以下に書きすぎていますが、何が私を悩ませているのかを言おうとしています – あなたの忍耐をありがとう!
たぶん私はここで何かを見逃している[非常に可能性が高い;-)]が、私は現在それを理解しているので、
実際のMQL定数値で定義せずに短い定数名を使用することはできません。また、MetaQuotesが1つ以上の> 32文字の定数名に関連付けられた定数値を変更すると、コードは更新された定数値を反映しなくなります。
例えば:
MQLはこの行をエラーコード表にリストします。 鹿粡昭粡 弱躱賭吽婆和遡炒倉描駄途瀰厦壇嗷瀕梅賭厦 完儀グローバル変数処理エラー。
.mq4または.mghのソースでこれを行うと、
#define GVAR_PROCESSING_ERROR 4057
さて、(例として)4057を40 6 7に変更することを決定した場合、 GVAR_PROCESSING_ERRORを使用する私のコードは壊れていますね。
これもまた、私はどのように私がより短い名前を使用することができないかという理由で私は私の#defineのより短い名前にMQsの長い名前の定数値を関連付けなければならないので変更します。
たとえば、必要に応じて#includeする自分自身のglobalDefines.mqhを用意し、このインクルードファイルで、長い名前の定数を短い名前の定数に[効果的に]再定義し、 現在文書化されている定数値をそれらに関連付けることができます。など
しかし、これらの長い名前に関連する文書化 された定数値を変更した場合、コードが壊れてしまいます。
それだけで私のコードと[!まだ]ミッションは重要ではないですので、確かに、私はおそらく何について大したを作っています-しかし、最終的には、constantlessコード私はまだ汗を取得しているため、 意味のある識別子名を使用するコードは、私がのために努力するものです何十万ものソースコード行が何百ものソースモジュールにまたがっているプロジェクトを維持しようとしたときのことを覚えていますか…もちろん、たくさんのハードコードされた定数があります。 [いわゆる]スーパープログラマーがなぜその定数を使うことにしたのかについての手掛かりを与えるソースコード。
Hahaaa、私はこれらの型を鮮やかに覚えています – 確かに彼らは昼休みにOSをコーディングすることができました…しかし、[hahaaa]スーパープログラマーが次の契約のために姿を消した後にコードを保守しなければならなかった貧しい単なる人 間私は解雇されます!!!] – 男…彼らがいた合計異常気味の時間!
それで、私はあなたがこれらの日をコーディングするときあなたが完全に妄想的に言うかもしれないものである – LOL、そして[もちろん]私はまだとにかくすべての時間を台無しにすることに成功した!
私があなたが私に言っていることを理解していないならば、私を正しく入れてください、大丈夫?
よろしく
ええと

あなたの問題を早く実現しなかったことをお詫び申し上げます。
私はあなたに完全に同意します。 #defineで定義された名前が31文字以上になることを許可し、定数を無用にしてしまうというメタコンパイラーのバグです。

ご意見ありがとうございました。できるだけ早く修正されます

よろしくお願いします。
ええと



952: https://www.mql5.com/en/forum/103726


Originally posted 2019-08-02 21:49:47.

Translate »