camelCase を使う場面
camelCase は userProfileImage のように区切り文字を使わずコンパクトです。周囲のエコシステムが camelCase を使う場合に自然です。
命名規則ガイド
camelCase は区切りをなくして2語目以降を大文字始まりにし、snake_case は小文字の単語をアンダースコアで区切ります。最適な形式は言語、API、DB、フレームワークで異なります。
| 違い | camelCase | snake_case |
|---|---|---|
| 例 | userProfileImage | user_profile_image |
| 主な用途 | JavaScript/TypeScript の識別子や多くの Java 系 property | Python の識別子、DB 列、データ処理、設定形式 |
| 単語の区切り | なし | アンダースコア (_) |
| 大文字小文字 | 最初は小文字、後続語は大文字始まり | 通常すべて小文字 |
| 略語の例 | apiResponseUrl | api_response_url |
| 典型的な境界 | frontend / application model | backend / API / database field |
camelCase は userProfileImage のように区切り文字を使わずコンパクトです。周囲のエコシステムが camelCase を使う場合に自然です。
snake_case は user_profile_image のように単語境界が明確です。Python、SQL、分析処理、API で広く使われます。
| 場面 | 推奨形式 | 理由 |
|---|---|---|
| JavaScript / TypeScript のアプリケーションコード | camelCase | JavaScript 系では変数、引数、メソッド、object property に lower camel case が一般的です。 |
| Python のアプリケーションコード | snake_case | PEP 8 は function と variable に小文字+アンダースコアの形式を推奨しています。 |
| JSON / HTTP API 境界 | API contract に合わせる | アプリ内部は 1 つの形式に統一し、serialization / transport 境界で一度だけ変換する方が安全です。 |
| 既存の database / analytics schema | 既存 schema に従う | 成熟した外部命名 contract を変更するより、アプリ境界で適応する方が通常は低コストです。 |
作業するレイヤーが期待する規則を選びます。JavaScript frontend が snake_case API を使うなら境界で camelCase に正規化できます。各レイヤー内部の一貫性が最重要です。
下に識別子を貼り付けると、対象形式と対応する命名形式を確認できます。変換はブラウザ内で実行されます。
user_profile_image_url
userProfileImageUrlUserProfileImageUrluser_profile_image_urluser-profile-image-urlUSER_PROFILE_IMAGE_URLuser.profile.image.urluser/profile/image/url変換はブラウザ内で行われ、入力は変換サーバーへ送信されません。