ルールと規則に従う変数名を選択する
かつてソフトウェアの開発者が "ソフトウェア開発で最も難しいのは命名に関する部分です" と言っていたのはよく知られていることです。変数の名前は、特定の構文規則に従う必要があるだけでなく、人間がコードをより読みやすく、理解しやすくなるように使用する必要があります。 1 行のコードに対して多くのことが要求されます。
変数名の規則
C# コンパイラによって適用される変数の名前付け規則がいくつかあります。
- 変数の名前には、英数字とアンダースコア文字を使用できます。 シャープ
#
、ダッシュ-
、ドル記号$
などの特殊文字は使用できません。 - 変数名は、アルファベットまたはアンダースコアで始める必要があります。数字で始めることは使用できません。 開発者はアンダースコアを特別な目的に使用するので、ここでは使用しないようにしてください。
- 変数名を C# のキーワードにすることはできません。 たとえば、
float float;
やstring string;
といった変数名の宣言は許可されません。 - 変数名では大文字と小文字が区別されます。つまり、
string MyValue;
とstring myValue;
は 2 つの異なる変数です。
変数名の表記規則
表記規則は、ソフトウェア開発コミュニティによって合意された提案です。 これらの表記規則に従わなくてもかまいませんが、広く使用されているので、他の開発者がコードを理解するのが困難になる可能性があります。 これらの表記規則を採用する練習をし、あなたのいつものコーディングのやり方ーの一部にする必要があります。
- 変数名では、キャメル ケースを使用する必要があります。これは、最初の単語の先頭には小文字を使用し、それ以降の各単語の先頭には大文字を使用する記述スタイルです。 たとえば、「
string thisIsCamelCase;
」のように入力します。 - 変数名は、わかりやすく、アプリケーションで意味のある名前にする必要があります。 変数には、それで保持する (データ型ではなく) データの種類を表す名前を選択する必要があります。 たとえば、
bool isComplete;
ではなくbool orderComplete;
です。 - 変数名は、1 つ以上の完全な単語を結合したものにする必要があります。 コードを読む他のユーザーに対して変数の名前が不明確になる可能性があるため、短縮形は使用しないでください。 たとえば、
decimal odrAmt;
ではなくdecimal orderAmount;
です。 - 変数名には、変数のデータ型を含めないでください。
string strMyValue;
のようなスタイルの使用を勧めるアドバイスを見たことがあるかもしれません。 これは、何年も前に一般的だったスタイルです。 しかし、ほとんどの開発者もはやこのアドバイスに従わなくなっており、使用しない正当な理由があります。
string firstName;
という例は、この変数を使用してユーザーの名を表すデータを格納すると想定すると、以上のすべてのルールと表記規則に従っています。
変数名の例
(一般的なデータ型を使用した) 変数宣言の例をいくつか次に示します。
char userOption;
int gameScore;
float particlesPerMillion;
bool processedCustomer;
その他の名前付け規則
ここで説明したルールと規則は、ローカル変数用です。 ローカル変数は、メソッドの本文内にスコープ設定される変数、または最上位レベルのステートメント (このモジュールのコードなど) を使用するコンソール アプリケーション内の変数です。
アプリケーションで使用できるコンストラクトの種類は他にもあり、多くは独自の規則を持っています。 たとえば、クラスは C# プログラミングでよく使われ、関連する規則があります。 このモジュールではクラスは作成しませんが、先ほど学習した名前付け規則が、より大きな名前付けフレームワークに適合することを理解しておくことが重要です。