本文へスキップ
BecomeCoder

C#文法コース · 第1章 基礎文法とデータ型 · レッスン14

命名規則とコーディングスタイル

ブラウザで完結

導入

同じ動くコードでも、名前の付け方や書き方の作法が整っていると、読みやすさ・チーム開発のしやすさが段違いになります。C#には広く共有された**命名規則(naming convention)**があり、これを最初に知っておくと「プロっぽいコード」を最初から書けます。まずは代表的なケース(キャメル/パスカル/スネーク)と、C#での使い分けを押さえましょう。

図解

flowchart TB
    N["名前の付け方(ケース)"] --> P["PascalCase<br/>先頭大文字・単語ごと大文字<br/>例: UserName / CalculateTotal"]
    N --> C["camelCase<br/>先頭小文字・以降単語頭大文字<br/>例: userName / itemCount"]
    N --> S["snake_case<br/>単語を_でつなぐ<br/>例: user_name(C♯では非推奨)"]
    style P fill:#e8f5e9
    style C fill:#e1f5fe

サンプル1: C#での使い分け

// C#の標準的な命名規則
// ・クラス / メソッド / プロパティ / public → PascalCase
// ・ローカル変数 / 引数 → camelCase
// ・private フィールド → _camelCase(先頭にアンダースコア)
// ・定数 → PascalCase(大文字SNAKEにはしないのがC#流)

const double TaxRate = 0.10;          // 定数: PascalCase

int itemCount = 3;                    // ローカル変数: camelCase
string userName = "Taro";             // ローカル変数: camelCase

Console.WriteLine($"{userName}さんの購入点数: {itemCount}");

// メソッドは PascalCase、引数は camelCase
int CalculateTotal(int unitPrice, int quantity) => unitPrice * quantity;

Console.WriteLine(CalculateTotal(500, itemCount));   // 1500
  • PascalCase(先頭大文字): クラス・メソッド・プロパティ・publicメンバー・定数
  • camelCase(先頭小文字): ローカル変数・引数
  • _camelCase(先頭にアンダースコア): privateフィールド
  • snake_case_区切り)はPython等では主流ですが、C#では使いません(JSONのキー名など外部データで出会う程度)

サンプル2: 良い名前 vs 悪い名前

// ❌ 悪い例: 何を表すか分からない・省略しすぎ
int d = 30;
int calc(int a, int b) => a * b;

// ✅ 良い例: 役割が名前から分かる
int elapsedDays = 30;
int CalculateArea(int width, int height) => width * height;

Console.WriteLine($"{elapsedDays}日経過");
Console.WriteLine(CalculateArea(4, 5));   // 20

// 真偽値は is / has / can で始めると意図が明確になる
bool isActive = true;
bool hasPermission = false;
Console.WriteLine(isActive && !hasPermission);   // False
  • 名前は役割が伝わる具体的な語にする(dよりelapsedDays
  • 過度な省略は避ける(calcよりCalculateArea
  • 真偽値is/has/canで始めると読みやすい(isActivehasPermission
  • 迷ったら「他人が読んで意味が分かるか」を基準にする

補足(覚えておくと得)

  • コーディングスタイルも共有されています:インデントは半角スペース4つ、{は原則次の行、演算子の前後にスペース(a + b)など。Visual Studioの自動整形(Ctrl+K, Ctrl+D)に任せるのが楽です
  • 一貫性が最優先:チームやプロジェクトの既存スタイルに合わせるのが正解。個人の好みより「揃っていること」が読みやすさを生みます
  • クラスやメソッドの詳しい書き方は後の章(メソッド・オブジェクト指向)で学びますが、名前の付け方は今から意識しておくと、その章がぐっと楽になります

演習

// TODO: C#の命名規則に沿って、税込価格を計算し "税込1100" と出力してください。
//       ・本体価格 1000 を camelCase のローカル変数(例: priceTotal)に入れる
//       ・「価格の10%」を返す PascalCase のメソッド(例: GetTax)を定義する
//       ・本体価格 + 税 を出力する
___
  • 期待される出力: 税込1100
ヒント1を見る

ローカル変数はpriceTotal(camelCase)、メソッドはGetTax(PascalCase)にします

ヒント2を見る

int priceTotal = 1000; int GetTax(int price) => price / 10; Console.WriteLine($"税込{priceTotal + GetTax(priceTotal)}");

まとめ

  • C#はPascalCase(型・メソッド・プロパティ・定数)とcamelCase(ローカル・引数)が基本。privateフィールドは_camelCase
  • snake_caseはC#では使わない
  • 名前は「役割が伝わる具体的な語」に。真偽値はis/has/can。スタイルは一貫性が最優先

次章: 「条件によって処理を変える・繰り返す」制御構文へ進みます。

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

C# — ブラウザ内で実行

ブラウザ内でC#を動かす環境を読み込みます(初回のみ数秒)。
スクロールして表示された時点でも自動で読み込まれます。