Yueseryueser.com

← ガイド一覧

パスカルケースへの変換方法とクラス名の命名規約

パスカルケース(アッパーキャメルケース)は、最初の語を含めて各語の頭文字を大文字にします。クラス、コンポーネント、型、列挙型で使われ、変数に使うローワーキャメルケースと対になります。

ツールを開く:パスカルケース変換

パスカルケースを使う場面

React のコンポーネントをまとめて作るときは、コンポーネント名、ファイル名、props の型名を同時に決めます。user profile card は UserProfileCard、型は UserProfileCardProps です。手で書くとカード・一覧・詳細で大文字小文字がずれ、読み手を迷わせます。

Java や C# のクラス名、TypeScript の interface と type、ORM のエンティティ、自動生成されるモデルクラスもパスカルケースです。テーブル名や業務の言葉をまとめて変換し、接尾辞を揃えて足すほうが、1 件ずつ考えるより速く、表記も揃います。

変換の規則と見落としやすい 3 点

規則はキャメルケースと同じで、全体を小文字にし、英数字以外の文字の直後の文字を大文字にし、最後に先頭を大文字にします。違うのは最後の 1 手順だけなので、user profile、user_profile、user-profile はどれも UserProfile になり、区切りの痕跡は残りません。

1 点目、既存のパスカルケースは平坦になり、UserProfile は小文字化で区切りが消えて Userprofile になります。2 点目、略語は URL、ID、API が Url、Id、Api になるため戻します。3 点目、先頭が数字だと 3d model は 3DModel ではなく 3dModel になります。

言語ごとの違いとツールの限界

C# は公開クラス、メソッド、プロパティにパスカルケースを使います。Java はクラス名に使い、メソッド名はローワーキャメルケース、Go は先頭の大文字で公開範囲を示します。Python はクラスにパスカルケース、関数に snake_case を使います。同じ名前でも言語が変われば書き換えが必要です。

略語の扱いに世界共通の正解はありません。.NET のガイドラインは 2 文字の略語をすべて大文字(IO)、3 文字以上は頭だけ大文字(Http、Xml)とし、Google の Java スタイルもほぼ同じです。ツールは文字を組み替えるだけで、重複の確認も語義の判断も行いません。

よくある質問

パスカルケースとキャメルケースの違いは何ですか?

違いは最初の語の頭文字だけです。camelCase は userName、PascalCase は UserName と書き、残りは同じです。JavaScript では変数とメソッドに前者、クラスに後者を使い、C# ではメソッドやプロパティにもパスカルケースを使います。

3d model が 3DModel ではなく 3dModel になるのはなぜですか?

大文字化は英字にだけ作用し、数字の 3 には大文字小文字がないためです。3DModel にしたい場合は変換後に d を手で大文字にしてください。数字で始まる識別子が使える言語かどうかも併せて確認が必要です。

React のコンポーネント名は大文字で始める必要がありますか?

必要です。JSX では小文字で始まるタグは HTML の要素として扱われるため、<myCard /> は自作コンポーネントではなく未知のタグになります。コンポーネント名も import 時の変数名も大文字で始める必要があり、ここでパスカルケースが好まれます。

関連ツール:パスカルケース変換