VEXcode Pro V5 でのグローバル変数とローカル変数の宣言

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

グローバル変数の場合

重要: グローバルの使用は避けてください。

グローバル変数を不適切に使用すると、プログラム設計が不適切になります。 グローバル変数の不適切な使用によって生じる悪い副作用のいくつかを次に示します。

  • モジュール性を打ち破る
  • バグのあるコード
  • 乱雑で非常にわかりにくいコード – 別名 スパゲッティコード
  • デバッグと保守が難しい
  • エラーを起こしやすい

以下に、優れたグローバル変数をいくつか示します。

int LeftEyePort = PORT1;
int RightEyePort = PORT2;
フロート ホイール直径 = 10.25;	
float EncPerCM = 360.0 / (ホイール直径 * PI);

int main( ) {
....
}

ロボットが実行中にホイールの直径やポートに接続されているデバイスのタイプを変更できない場合は、それらを const グローバル変数として宣言するのが合理的です。

例えば:

const int LeftEyePort = PORT1;
const int RightEyePort = PORT2;
const float WheelDiameter = 10.25;	
const float EncPerCM = 360.0 / (ホイール直径 * PI);

ローカル変数の場合

  • 「ローカライズされた」単純なカウンターでは、単一文字の使用を制限してみてください。

例えば

for ( int i=0 ; i< 10; i++) {
          .... 
     }

単純なカウンター以外の重要なコンテキストを持つものを表すために「i」を使用しないでください。

たとえば、エンコーダ値を表すために「e」を使用しないでください。

  • それが表すものに関連している必要があります。たとえば、合計エンコーダ値を表すには、たとえば X の代わりに「totalEncoder」を使用します。
  • 変数の前に次のようにデータ型を付けます。
int iValue;
float fValue;  
倍精度の dValue。
  • 先頭に「_」を使用しないでください。 慣例により、接頭辞「_」が付いた変数は、「ディレクティブ」などの非常に特殊な目的に使用されます。 ディレクティブ構造は、コンパイラーが入力を処理する方法を指定するために使用されます。 これについては別の記事で説明します。 ディレクティブに慣れていない場合は、変数名の一部として先頭の「_」を「使用しない」ことをお勧めします。
  • 可読性を最大限に高める:
    • 長い名前には Camel スタイルを使用します (encoderPerCM、encPerRotation など)。 encoder_per_cm など、プログラマによっては「_」を使用することを好む人もいます。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: