PascalCase とは
PascalCase(パスカルケース)は、単語の間のスペースを取り除き、すべての単語の最初の文字を大文字にする書き方です。
user profile cardはUserProfileCardになりますorder_line_itemはOrderLineItemになりますhttpClientはHttpClientになります
キャメルケース(camelCase)との違いはひとつだけで、最初の文字も大文字になることです。
ツールの仕組み
ツールは行ごとに単語を見つけ、各単語の最初の文字を大文字に、残りを小文字にしてつなげます。スペース、アンダースコア、ハイフン、ドットで区切られた単語を認識し、すでに camelCase になっている名前は大文字の位置で区切ります。アポストロフィと句読点は取り除かれます。
全角スペースも区切りとして扱われますが、日本語の単語や全角の英字はそのまま残ります。クラス名や型名に使う場合は、英単語を半角で入力してください。
| 入力 | 出力 |
|---|---|
| user profile card | UserProfileCard |
| order_line_item | OrderLineItem |
| nav-bar-item | NavBarItem |
| getUserById | GetUserById |
| payment gateway response | PaymentGatewayResponse |
PascalCase が使われる場所
- クラス名:Java、C#、Python、TypeScript、Swift、Kotlin など、ほとんどのオブジェクト指向言語
- React、Vue、Svelte のコンポーネント:
UserCard、NavBar - TypeScript の型とインターフェース:
UserProfile、ApiResponse - C#:クラスだけでなくメソッド名やプロパティ名も
- Go:エクスポートする関数と型。パッケージの外から見えるようにするには大文字で始める必要があります
- 列挙型(enum)の名前:多くの言語で
ほとんどの言語で通用する目安があります。インスタンスを作る元になるもの(クラス、型、コンポーネント)には PascalCase を使い、インスタンスそのものには camelCase か snake_case を使います。つまり UserProfile クラスからは userProfile という変数ができます。
よくある変換
データベースのテーブル名からモデルのクラス名へ。 order_line_items というテーブルは、たいてい OrderLineItem というクラスに対応します。テーブル名を貼り付けてリストごと変換し、必要に応じて複数形を単数形に直してください。
ファイル名からコンポーネント名へ。 user-card.jsx というファイルは、たいてい UserCard というコンポーネントをエクスポートします。
普通の説明から型名へ。 「api error response」と入力すると ApiErrorResponse になります。
命名のコツ
- クラスや型には名詞を使います:
ProcessInvoiceではなくInvoice。 - 自分にしかわからない略語は避けます。
CustAddrよりCustomerAddressの方がわかりやすくなります。 - 略語のルール(
HttpClientかHTTPClientか)をひとつに決めて、プロジェクト全体で統一します。