キャメルケース・スネークケース・ケバブケースの変換方法
この記事のまとめ(TL;DR)
プログラミング言語ごとに推奨される変数命名規則(camelCase / snake_case / kebab-case 等)が異なります。本記事では8種類の主要ケースの違い・用途・言語別ベストプラクティス・変換ツールの使い方を実例で解説します。
プログラミングでは変数名・関数名・クラス名の命名規則として、さまざまな「テキストケース(命名規約)」が使われます。JavaScript・Python・CSS・Go など言語やフレームワークごとに推奨されるケースが異なるため、APIレスポンスをローカルコードに合わせる、フレームワーク間でデータを変換するなどの場面で命名規則の変換が頻繁に必要になります。本記事では、テキストケース変換ツールを使った実用的な変換方法と、言語別の正しい使い分けを解説します。
主要なテキストケース一覧
| ケース名 | 表記例 | 主な使用場面 |
|---|---|---|
| camelCase | getUserName | JavaScript / Java / TypeScript の変数・関数 |
| PascalCase | GetUserName | クラス名 / React コンポーネント / C# |
| snake_case | get_user_name | Python / Ruby / データベースカラム |
| kebab-case | get-user-name | CSS クラス / URL スラッグ / HTML属性 |
| SCREAMING_SNAKE | GET_USER_NAME | 定数 / 環境変数 |
| Title Case | Get User Name | 記事タイトル / 見出し |
| UPPERCASE | GETUSERNAME | 略語 / 強調表現 |
| lowercase | getusername | パッケージ名 / URL |
なぜ命名規則の統一が重要か
プロジェクト内で命名規則がバラバラだと、(1) コードの可読性が下がる、(2) 検索(grep等)で漏れが発生、(3) IDE のリファクタリング機能が機能しにくい、(4) チームメンバーが混乱、(5) コードレビューで規則違反の指摘に時間を取られる、というデメリットがあります。逆に統一された命名は「見た瞬間にコードの意図がわかる」という重要な可読性向上に繋がります。
言語ごとの命名規約
JavaScript / TypeScript
変数・関数: camelCase、クラス・型・React コンポーネント: PascalCase、定数: SCREAMING_SNAKE_CASE、ファイル名: kebab-case.ts または PascalCase.tsx(コンポーネント)
Python(PEP 8)
変数・関数・モジュール: snake_case、クラス: PascalCase、定数: SCREAMING_SNAKE、私有変数: _leading_underscore
CSS / HTML
クラス名・ID・属性: kebab-case、CSS変数(カスタムプロパティ): --kebab-case、BEM記法: block__element--modifier
Go
公開(exported): PascalCase、非公開: camelCase(先頭文字の大文字/小文字で可視性が決まる仕様)。略語は全大文字(HTTPServer ではなく HttpServer)
Ruby / Rails
変数・メソッド: snake_case、クラス・モジュール: PascalCase、定数: SCREAMING_SNAKE、ファイル名: snake_case.rb
変換ツールの使い方(3ステップ)
- 変換したい文字列を入力: 既存の変数名、APIレスポンスのキー、CSVのヘッダーなど
- すべての形式が即座に表示: 8種類の変換結果が並び、リアルタイム更新
- 必要な形式をワンクリックでコピー: クリップボードにコピーしてエディタに貼り付け
よくある変換失敗パターン
- 頭字語の扱い: 「HTML」「URL」「API」をどう変換するか統一しないとぐちゃぐちゃになる。Go言語はAll-Caps(HTTPServer→HttpServer など)、JS/Java は最初だけ大文字(HtmlElement など)が一般的
- 連続する大文字: PDFExporter → pdfExporter / pdf_exporter どちらかに揺れることがある
- 数字の扱い: ip4Address vs ip4_address vs ipv4_address — プロジェクトで統一する
- 長すぎる名前の分割位置: getUserAccountInfoFromDatabase は長すぎる、適切に短縮する
よくある質問
なぜケバブケースと呼ばれるのですか?
ハイフンで繋がった単語が、串に刺さったケバブ(kebab)のように見えることが由来です。同様に、スネークケースはアンダースコアが蛇のように見えることから、キャメルケースは大文字部分がラクダのコブのように見えることから命名されました。
データベースのカラム名はどのケースが良いですか?
snake_caseが最も一般的です。SQL は大文字小文字を区別しないため、単語の区切りにはアンダースコアが明確で安全です。PostgreSQL や MySQL のドキュメントでも snake_case が標準的に使われています。
APIのJSON keyにはどのケースを使うべきですか?
JavaScriptクライアントが多い場合は camelCase(Google JSON Style Guide推奨)、Pythonクライアントが多い場合は snake_case(GitHub API・Twitter API採用)。プロジェクト内で統一することが最も重要です。
ESLintやPrettierで自動チェックできますか?
はい、ESLintには `camelcase` ルールがあり、命名規則違反を自動検出できます。Pythonでは pylint や flake8、Goでは標準ツール `gofmt`、Ruby では RuboCop がチェックします。CIに組み込めば、コミット前に違反を検出できます。
日本語の変数名は使えますか?
JavaScript、Python、Java など Unicode 識別子をサポートする多くの言語では技術的に可能ですが、(1) チームメンバーの環境によっては表示できない、(2) 入力に IME 切替が必要、(3) コードレビューで好まれない、ため非推奨です。日本語の概念を表現したい場合はローマ字または英訳に変換してください。
まとめ
テキストケースの変換は、API設計・データベース設計・CSS命名・複数言語間のデータ受け渡しなど、現代のWeb開発で頻繁に発生する作業です。命名規則を統一することで、コードの可読性・保守性が大幅に向上します。テキストケース変換ツールで素早く8種類の形式に変換し、生産性を上げましょう。
関連ツール: 文字列の変更点確認に テキスト差分比較ツール、文字数チェックに 文字数カウンターもご活用ください。