本文へスキップ
totonoe.tech

文字を整える

中級

ケース変換(命名)を整える。

= 変数名の書き方(camel・snakeなど)を相互に変換

ケース変換が初めての方は、先に そもそもケース変換とは・どんな場面で使うか をどうぞ。

整えたい語・フレーズ(識別子) 入力すると即時に再変換(送信ゼロ)
例:
分割した単語 スペース / _ / - / . / / ・大文字境界・数字境界で分割
ここに分割結果が出ます(例:user / profile / image)

そもそもケース変換とは

複数の単語をつないで、ひとつの名前にするときの「書き方の約束」。

プログラムの変数名や関数名には、スペースを入れられません。そこで「user profile image」のような複数の単語を、スペースなしでつなぐ必要があります。そのつなぎ方がケース(case)です。語頭を大文字にしてつなぐ camelCase、アンダーバーでつなぐ snake_case、ハイフンでつなぐ kebab-case などがあります。

どれが正しいかではなく、言語や業界、チームごとに慣習が決まっています。同じ意味でも、文字列の見た目はまったく別物になるため、手で直すとスペルミスのもとです。日付や案件名の順番を決めたファイル名の付け方ルールと同じで、約束をそろえておくことに意味があります。

どこで・どんな場面で使うか

  • 日本語の仕様書から、変数名の候補を作るとき

    「顧客の登録日」のような仕様の言葉を英語にしたあと、チームの規約どおりの書き方にそろえます。

  • DB のカラム名と API の項目名をそろえるとき

    画面側は camelCase、DB 側は snake_case、といった食いちがいを、行き来して直せます。

  • CSV の見出し行(列名)を統一するとき

    取引先ごとにちがう列名を、自社の取り込み用に同じ書き方へそろえておきます。

  • ブログ記事や商品ページの URL(スラッグ)を決めるとき

    URL は kebab-case にするのが一般的で、複数の単語をハイフンでつないだ形に変えられます。

  • 環境変数や設定ファイルのキーを書くとき

    定数や環境変数は大文字とアンダーバーの CONSTANT_CASE にする慣習があります。

知らないと何が困るか

  • 書き方が混ざると、検索でも漏れる。user_id と userId は別の文字列なので、片方で検索しても、もう片方は見つかりません。
  • 大文字小文字を区別する場面では、別の名前になる。別の名前として扱われるため、動かない、エラーになるといった形で表に出ます。
  • 略語の扱いでチームの中で食いちがう。HTTP や ID のような略語を、1語として扱うか、普通の語として扱うかで、同じ意味でも綴りが分かれます。

上のツールに、日本語の語や既存の変数名を入れて、camelCase や snake_case にどう変わるか確かめてみてください。

命名規則のポイント・4つ

「同じ意味」でも、置く場所で書き方が変わります。

  1. 1

    まず「単語」に割ってから組み立て直します

    スペース・_・-・.・/ の区切りに加え、大文字境界(userId→user/Id)と数字境界(url2json→url/2/json)でも区切ります。だから既存の camel や snake を貼っても、別の形式へ移せます。

  2. 2

    頭字語(ID / URL / HTTP)は1語として扱います

    連続した大文字はひとかたまりの略語とみなします。例:XMLHttpRequest は XML / Http / Request に分割され、snake では xml_http_request に。getHTTPResponse は get / HTTP / Response。ただし camel/Pascal では各語を「頭だけ大文字」に正規化するため、XMLHttpRequest は XmlHttpRequest になります(多くのリンタの標準)。

  3. 3

    用途で選ぶ:camel=変数 / Pascal=クラス / snake=DB / kebab=URL

    JS/TS の変数・関数は camelCase、クラスや型は PascalCase、Python の変数や DB のカラムは snake_case、URL スラッグや CSS クラスは kebab-case、定数・環境変数は CONSTANT_CASE が定番です。各カードに用途の一言を添えています。

  4. 4

    日本語が混ざってもそのまま温存します

    背景色 backgroundColor のように日本語が含まれる場合、日本語の部分は変換せずそのまま1語として扱い、英字部分だけを各形式に整えます(例:snake なら 背景色_background_color)。識別子に日本語を使うのは非推奨ですが、メモや対訳づくりに便利です。

🔒 変換はすべてあなたのブラウザの中(JavaScript)で完結します。入力した語はサーバに送られません(送信ゼロ)。

場面 01

コードを書く

日本語の仕様メモから、変数・関数・クラス名の候補を一気に作る。

場面 02

DB・API 設計

camel のフィールド名を snake のカラム名へ、URL の kebab スラッグへ。

場面 03

表記をそろえる

バラバラだった命名を、チームの規約(snake or kebab)に一括で統一。

このツールについて

変数名・関数名・カラム名などの「書き方(命名規則)」を、入力するそばから camelCase・snake_case・kebab-case などに一括変換。既存の camel や snake を貼っても賢く区切り直します。各形式はワンクリックでコピー。入力はこの端末から一切出ません(送信ゼロ)。

変数名の「書き方」を、camel・snake・kebab・Pascal・定数など9形式へ一括変換。コピーしてそのまま使えます。

🔰 かんたんに言うと

プログラムの変数名の書き方(camelCase / snake_case など)を相互に変換します。

主な機能

  • 9形式へ一括変換(camel/Pascal/snake/kebab/CONSTANT/Title/文中/dot/path)
  • 既存の camel・snake・kebab も賢く分割して相互変換
  • 大文字境界・数字境界・頭字語(ID/URL/HTTP)を考慮した分割
  • 各形式をワンクリックでコピー、用途の一言つき
  • 日本語混在もそのまま温存
  • すべてブラウザ内で完結(送信ゼロ)

よくある質問

Q. camelCase と PascalCase の違いは何ですか?

A. どちらも語の先頭を大文字でつなぎますが、camelCase は先頭語だけ小文字(userId)、PascalCase は先頭語も大文字(UserId)です。camel は変数・関数名、Pascal はクラス・型名に使うのが定番です。

Q. snake_case と kebab-case はどう使い分けますか?

A. snake_case(user_id)は Python の変数や DB のカラム名、kebab-case(user-id)は URL のスラッグや CSS クラス名で使われます。コード内は snake、URL/CSS は kebab、と覚えると安全です。

Q. 既に camelCase で書いた語を snake_case にできますか?

A. できます。入力をいったん単語に分割(大文字境界・数字境界も検出)してから組み立て直すので、getUserName を貼れば get_user_name などへ相互変換できます。

Q. ID や URL、HTTP などの略語はどう扱われますか?

A. 連続した大文字は1つの略語としてまとめます。例:XMLHttpRequest は XML / Http / Request に分割され、snake では xml_http_request に。camel/Pascal では各語を頭だけ大文字に正規化するため XmlHttpRequest になります。

Q. 日本語が混ざっていても使えますか?

A. 使えます。日本語の部分は変換せずそのまま1語として残し、英字部分だけを各形式に整えます。日本語の識別子は非推奨ですが、対訳メモづくりに便利です。

Q. 入力した内容はどこかに送信されますか?

A. いいえ。変換はすべてあなたのブラウザ内の JavaScript で行われ、入力した語は外部サーバへ一切送信されません(送信ゼロ)。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

運営サイト

私たちが運営するサイト