キャメルケースとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > キャメルケースの意味・解説 

キャメル‐ケース【camel case】

読み方:きゃめるけーす

コンピューターで、スペース空白)を入れず複合語表記する際、単語先頭大文字にする方式プログラミング言語ファイル名ハッシュタグなどに用いられる。名称は、文字列がこぶのあるラクダキャメル)に見えることから。キャメル記法。→スネークケースチェーンケース

[補説] writeYourNameのように先頭小文字したものローワーキャメルケース、WriteYourNameのように大文字したものアッパーキャメルケースパスカルケース)として区別することもある。通常、単にキャメルケースとよぶ場合ローワーキャメルケースを指す。


キャメルケース

【英】camel case

キャメルケースとは、アルファベット複合語フレーズ表記する際、各単語要素語の先頭文字大文字表記する手法のことである。

例えば、通常の英語の表記では「this is an example」とスペース隔てて表記するが、キャメルケースでは「thisIsAnExample」とつなげて表記する

一番最初単語上記の例では「this」)の先頭文字小文字にした表記方法は、キャメルノーテーション(camel notation)と呼ばれることもある。これに対して、「ThisIsAnExample」のように先頭文字大文字にした場合は、アッパーキャメルケース、あるいはパスカルケースPascalCase)などと呼ばれることが多い。

産業・技術のほかの用語一覧
情報処理:  符号拡張  フィルタ  外字  キャメルケース  コード  五心  交差比率

キャメルケース

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/10/23 04:57 UTC 版)

ラクダ(camel)のこぶに見えることから名付けられた
キャメルケースの例(シンガポールのマクドナルド店舗)

キャメルケース: camel case)は、英語の複合語やフレーズ、文をひと綴りとして、各構成語(要素語)の最初を大文字で書き表すことをいう[1]。キャメルケースとは、大文字が「らくだのこぶ」のように見えることからの命名である。例えば、「camel case」をキャメルケースで書き表すと、「camelCase」または「CamelCase」となる。

ブラッド・エイブラムスによれば、.NET Frameworkの初期設計の際、名前付けスタイルの議論を円滑に進めるために作った用語だと言う。先頭の語も含めて各構成語の最初の文字を大文字にするスタイルは「PascalCasing」と命名され、先頭の語のみ最初の文字を小文字にするスタイルは「camelCasing」と命名された[2]。なおこのとき、プログラミング言語Pascalによって普及したスタイルであるとして、「PascalCasing」という用語を提案したのは、Turbo Pascalの設計者であり、.NET設計チームの主要なメンバーでもあったアンダース・ヘルスバーグであったが、用語の選定にあたって特に異論は出なかった[3][4]。「PascalCasing」はパスカルケース: Pascal case)と表記されることもある。

別名、バイキャピタライゼーション[5]インターキャプス[6]ミックストケース[7]ともいう。一部、日本語訳してキャメル記法キャメル方式と表現されることもある。

キャメルケースの種類

.NETのガイドラインでは、先頭の語も含めて各構成語の最初の文字を大文字にするスタイルをパスカルケース、先頭の語のみ最初の文字を小文字にするスタイルをキャメルケースとしており、プログラミングの文脈でキャメルケースと言えば後者のスタイルを指すことが多いが、場合によってはどちらもキャメルケースと呼ばれることがある。厳密に区別するために、「アッパーキャメルケース」や「ローワーキャメルケース」といった用語が使われることもある。

名称 表記例 備考
アッパーキャメルケース(UCC[8])、またはパスカルケース GetInputReader 複合語の先頭を、大文字で書き始める。
ローワーキャメルケース(LCC[9])、または単にキャメルケース getInputReader 複合語の先頭を、小文字で書き始める。

なお、英語で大文字はupper case、小文字はlower caseであるが、これらは活版印刷の名残である。

用途

CamelCase

コンピュータープログラミングにおいて、キャメルケースが識別子命名規則として用いられることがある。

識別子とは、変数サブルーチン、ユーザー定義のデータ型といった構文要素を区別する名前のことを指すが、プログラミング言語の多くでは、スペースがトークン(字句)の区切りに使われ、ひとつづりをひとつの識別子として扱うため、ひとつの識別子がスペースを含むことはできない。一般的な言語では、英数字のほかにアンダースコア_を使うことができるが、古いCOBOLのようにアンダースコアは使えず、代わりにハイフンマイナス-を使うことができるという言語もある[10]。また、初期のコンピュータでは、容量などの制約から大文字・小文字を区別することができず、大文字のみが使える環境が主流だった[11]C言語の場合、ANSI C (C89) 規格では、保証される外部識別子名の長さは6文字まで、内部識別子名の長さは31文字までという互換性制約があった[12][注釈 1]

識別子に使用可能な文字種や文字数に制限のある環境において、複合語をひとつのプログラム要素としたいときには「getinputreader」や「GETINPUTREADER」のように直接連結するしかない場合もある。しかし、直接連結してしまうと語の区切り(境界)を認識しにくく、可読性を欠いてしまう。アンダースコアやハイフンマイナスが使える環境ではそのような文字を区切り文字に使って「get_input_reader」や「GET-INPUT-READER」などとする方法もあるが、文字数が増えてしまい、場合によっては処理系の制限に引っかかってしまう。大文字・小文字が区別できる環境では、後続の語の最初を大文字とすることで、文字数を節約しつつ、語の区切りを認識しやすくする記法が考案された[注釈 2]。この記法はのちに「キャメルケース」や「パスカルケース」として用語が再定義されることになるが、そのような用語が定義される前からmixed caseなどの名前で呼ばれていた[15]

パスカルケースという用語はプログラミング言語のPascalにちなんで命名されたものだが、Pascalはもともと大文字・小文字を区別しない言語であり、またISO規格準拠の標準Pascalでは識別子にアンダースコア_は使えない仕様になっている[16]という関係もあり、語境界を認識しやすくするために単語先頭を大文字にする慣習があった。規格の文書では標準手続き(required procedure)はwritelnのようにすべて小文字で記載されているが、一部のPascal処理系の文書ではWriteLnのようにアッパーキャメルが採用されているものもある[17][18]

Visual BasicWindows APIOLE/COMの影響を、また.NET Framework.NET言語(C#/VB.NETなど)はDelphiObject Pascal)の影響を受けており、メソッドの名前を大文字で始めるアッパーキャメルとなっているが、Javaはメソッドの名前を小文字で始めるローワーキャメルとなっている。ただし、いずれもユーザー定義型の名前は大文字で始めるアッパーキャメルである。

ファイルシステムにおいて、ファイルやディレクトリ(フォルダー)の命名にキャメル形式が使われることも多い。特にコマンドラインシェルでファイルシステムを操作するとき、スペースが含まれている名前は問題を引き起こすことが多いため、文字数を節約しつつ可読性を確保できるキャメル形式は利点がある。ただし、オペレーティングシステムやファイルシステムによっては、大文字・小文字が同一視されたり、すべて大文字として扱われ区別できなかったりする環境もある。

初期のウィキにおいて、キャメルケースを用いた語をリンクとするという方法が用いられていた。現在では、たとえば MediaWiki が「[[」と「]]」を用いてリンクを表しているように、キャメルケースによるリンクを用いない方法が多く用いられている。

元を正せば、キャメルケースは複合語から成る人名に多く使われてきた。McDonaldマクドナルド[注釈 3]などは日本語話者にもなじみ深くなった名前のうちのひとつである。近年[いつ?]のキャメルケースで、日本語話者が日常生活の中で目にするものには、商品名やサービス名が多い。PlayStationiPhoneBlackBerryOneDriveYouTubeなどがその例である。これらはスペースで単語を区切らず、連続した1語の固有名詞とすることによって、Web検索エンジンに区別されやすいという利点がある。

その他の綴り方

名称 表記例 備考
スネークケース quoted_printable_encode[19]

priority_queue[20]

アンダースコア_)を区切記号として単語をつなげる。
ケバブケース Get-Process[21]

call-with-current-continuation[22]

ハイフン-)を区切記号として単語をつなげる。

キャメルケースとスペルチェック

キャメルケースの欠点として、綴りミスを自動検出するスペルチェッカーの利用が難しくなる、ということが挙げられる。Microsoft Wordのような一般的なワードプロセッサソフトウェアでは、広く知られていて辞書データベースに登録されているような固有名詞を除いて、キャメルケースのスペルチェックに対応しておらず、スペルミスであると判定してしまう。ただし、自然言語の文章の中で登場するキャメルケースは通例スペースやハイフンの不足などによる誤りであることが多いため、この動作は妥当であるとも言える。

プログラミングに使用されるコードエディターはテキストエディターの一種だが、コメント内や文字列リテラル内の文章だけでなく識別子のスペルチェックにも対応しており、また判定の容易なスネークケースやチェインケースだけでなく、キャメルケースのスペルチェックにも対応しているものがある[23]

脚注

注釈

  1. ^ 標準Cライブラリの関数名が暗号のように短く分かりづらいのも、K&R時代から続く初期の資源制約によるものである。
  2. ^ ただし、キャメルケースも可読性を損うとして嫌う人もいる。例えばC++の設計者ビャーネ・ストロヴストルップは、I prefer to use underscores to separate words in an identifier (e.g, element_count) rather than alternatives, such as elementCount and ElementCount.と述べている[13][14]。実際、標準C++ライブラリには、std::runtime_errorstd::vector::push_back()のように、アンダースコアを使った名前が頻出する。しかし彼は、言語組み込みのデータ型や標準ライブラリのデータ型との名前衝突を避けるため、ユーザー定義のデータ型の名前は先頭を大文字にすることを推奨してもいる。
  3. ^ Mc」はゲール語で息子を意味する語であり、McDonald はドナルドの息子という意味の複合語である。

出典

関連項目



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「キャメルケース」の関連用語

1
キャメル記法 デジタル大辞泉
100% |||||


3
ローワー‐キャメルケース デジタル大辞泉
76% |||||


5
アッパー‐キャメルケース デジタル大辞泉
58% |||||



8
スネーク‐ケース デジタル大辞泉
36% |||||

9
チェーン‐ケース デジタル大辞泉
36% |||||

10
キャメル‐ケース デジタル大辞泉
32% |||||

キャメルケースのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



キャメルケースのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【キャメルケース】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのキャメルケース (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS