ケース変換ツール
camelCase、snake_case、kebab-case、PascalCase など。
このツールについて
テキストを入力または貼り付けると、camelCase、PascalCase、snake_case、CONSTANT_CASE、kebab-case、Title Case、sentence case、dot.case、URL スラッグなど、よく使われるすべての命名規則で一度に表示されます。1 行ずつ処理するため、名前のリスト全体をまとめて変換できます。
使い方
- 名前やフレーズを入力または貼り付けます。1 行に 1 つずつ書けば、リスト全体をまとめて変換できます。
- camelCase、PascalCase、snake_case、kebab-case など、すべての命名スタイルが一度に表示されます。
- 必要なスタイルの「コピー」をクリックします。
よくある質問
- どのケースを何に使えばよいですか?
- 一般的な慣習: JavaScript や Java の変数には camelCase、クラスや React コンポーネントには PascalCase、Python やデータベースのカラムには snake_case、定数や環境変数には CONSTANT_CASE、URL、CSS クラス、ファイル名には kebab-case を使います。
- HTTP のような頭字語はどう扱われますか?
- 頭字語の後に大文字で始まる単語が続く場合も正しく分割されるため、HTTPResponseCode は http_response_code や httpResponseCode になります。
- URL スラッグではアクセント記号はどうなりますか?
- アクセント記号や特殊文字はプレーンな ASCII に変換されるため、「Café Münster」は cafe-munster になります。また、英字・数字・ハイフン以外の文字は削除されます。
- UPPER CASE で句読点は保持されますか?
- いいえ。どのスタイルも入力から見つかった単語をもとに組み立てられるため、句読点は削除され、単語は 1 つのスペースでつながれます。「Hello, world!」は HELLO WORLD になります。このツールは名前や識別子向けなので、句読点を残す必要がある場合は、エディターで大文字・小文字を変更してください。
- Train-Case は何に使われますか?
- Train-Case はすべての単語の先頭を大文字にし、ハイフンでつなぎます。最もよく知られた用途は、Content-Type、X-Request-Id、Accept-Encoding のような HTTP ヘッダー名です。ヘッダー名は大文字と小文字を区別しないため、これはプロトコルの要件ではなく、読みやすさのための慣習です。
- kebab-case は URL スラッグと同じですか?
- ほぼ同じです。どちらも小文字の単語をハイフンでつないだものですが、URL スラッグはさらにアクセント付きの文字を通常の ASCII に変換し、a〜z、数字、ハイフン以外をすべて取り除きます。kebab-case は é や ł のような文字を残すため、CSS のクラスには問題ありませんが、URL には理想的とはいえません。
camelCase、snake_case、kebab-case の違いとは?
命名規則の違いは単語のつなぎ方だけです。camelCase は小文字で始めて 2 語目以降の先頭を大文字にし(userProfileId)、PascalCase はすべての単語の先頭を大文字にし(UserProfileId)、snake_case は小文字の単語をアンダースコアでつなぎ(user_profile_id)、CONSTANT_CASE は同じことを大文字で行い(USER_PROFILE_ID)、kebab-case はハイフンを使います(user-profile-id)。Train-Case、dot.case、path/case も同じ考え方で、それぞれ先頭を大文字にした単語をハイフンで、ドットで、スラッシュでつなぎます。
どのケースを使うかは、個人の好みではなく言語や形式で決まるのが普通です。ほとんどのプログラミング言語では識別子にハイフンを使えません。user-id は user マイナス id と読まれてしまうためです。そのため kebab-case は URL、CSS のクラス名、--dry-run のような CLI フラグ、ファイル名で使われます。ドットは spring.datasource.url のような設定キーや翻訳メッセージの ID に現れ、path/case はフォルダー構成や入れ子のルート名に合います。
命名規則を相互に変換する方法
名前の変換は、まず単語への分割から始まります。ケース変換ツールは、スペース、アンダースコア、ハイフン、ドット、スラッシュなどの記号の位置、小文字や数字の後に大文字が続く位置(getUser は get と user に)、そして次の単語の前にある大文字の連続の中(XMLParser は xml と parser に)で分割します。各単語を小文字にしてから各スタイルでつなぐため、max_retry_count、maxRetryCount、Max Retry Count はどれも同じ結果になります。
数字は直前の文字にくっついたままです。version2 は 1 語のままで、version2Beta は version2 と beta に分割されます。どのアルファベットの文字も文字として扱われるため、ポーランド語やドイツ語の名前は、URL スラッグ以外のすべてのスタイルでアクセントが保たれます。1 行に 1 つずつ名前を入力すれば、TypeScript のフィールドにしたいデータベースの列名など、リスト全体を一度に変換でき、どのスタイルもまとめてコピーできます。
見出しは Title Case か Sentence case か
Title Case は見出しの主要な単語の先頭を大文字にし、短い機能語は先頭か末尾に来ない限り小文字のままにします。ここで小文字のままにする単語は a、an、and、as、at、but、by、for、in、of、on、or、the、to、vs、via で、「the state of the art」は「The State of the Art」になります。AP や Chicago などのスタイルガイドは、長めの前置詞の扱いなど細部で意見が分かれるため、社内のスタイルがあればそれに従ってください。
Sentence case は「The state of the art」のように最初の単語だけを大文字にします。Material Design や Microsoft Writing Style Guide など多くのデザインシステムは、速く読めて翻訳もしやすいことから、見出しや UI ラベルに Sentence case を推奨しています。ケース変換ツールはスタイルを適用する前にすべての単語を小文字にするため、API や GitHub のような固有名詞や略語は、Sentence case や Title Case に変換した後に手で直す必要があります。
うまく動かない、または結果がおかしいですか? このツールの問題を報告