具体例を交えて紹介
プログラミング初心者が迷う「パスカルケース」「キャメルケース」の違いとは?
プログラミングの学習を始めたばかりの人にとって、重要かつ難解なのが変数の命名規則だ。混同しがちな2つの命名規則「パスカルケース」「キャメルケース」の違いを、具体例を交えながら分かりやすく説明する。
開発者がプログラミング言語を新たに学習するとき、最初に覚えるものの一つに変数の命名規則がある。代表的な命名規則が「パスカルケース」と「キャメルケース」だ。
命名規則の違いを理解しやすくするために、例を交えて説明しよう。以下の変数名は、それぞれどの命名規則に従っているだろうか。
- OutOfMemoryException
- DateFormat
- DatabaseConnection
- LinkedList
- EventHandler
気になる答えは?
上記の例は、いずれもパスカルケースとキャメルケースの両方に従っている。パスカルケースとキャメルケースは、どちらも変数名を複数の単語で構成するときに、それぞれの単語の先頭文字を大文字にする。パスカルケースは変数名の先頭文字も大文字にするが、キャメルケースの場合は必ずしもそうではない。
変数名を構成する全ての単語の先頭を大文字にすれば、パスカルケースにもキャメルケースにも従っていることになる。一方で変数名の先頭を小文字にすることは、キャメルケースには従っているが、パスカルケースには従っていない。以下はキャメルケースにのみ従い、パスカルケースには従っていない例だ。
- jenkinsServer
- iterationCount
- tomcatInstance
- gitRepository
- microService
jenkinsServerのように変数名の先頭を小文字にする表記法を「ローワーキャメルケース」と呼ぶ。JenkinsServerのように変数名の先頭を大文字にする表記法を「アッパーキャメルケース」と呼ぶ。つまりアッパーキャメルケースはパスカルケースと同義だ。
パスカルケースとローワーキャメルケースの使い分け
一般にプログラミング言語やフレームワーク(特定の設計思想に基づくプログラム部品やドキュメントの集合体)は、要素の種類によって命名書式を使い分けている。例えばプログラミング言語および開発・実行環境「Java」では、クラス名、インタフェース名、列挙型(定数の集合体を扱うためのクラス)名はパスカルケースに従い、変数はローワーキャメルケースに従う。
他の変数命名規則
パスカルケースとローワーキャメルケース以外の命名規則には、単語の間をアンダースコア(_)で区切る「スネークケース」や、単語の間をハイフン(-)で区切る「ケバブケース」がある。例は以下の通りだ。
- スネークケースの例
- THIS_IS_SNAKE_CASE
- ケバブケースの例
- this-is-kebab-case
「C++」など複数のプログラミング言語が、標準ライブラリ(プログラム部品群)で定数名や静的変数(プログラム終了時まで値を保持し続ける変数)名の命名規則にスネークケースを採用する。名前の中のハイフンを減算演算子として扱うプログラミング言語もあるため、実質的にケバブケースを利用できない場合がある。
プログラミング言語そのものによる制約がない限り、開発現場では命名規則の使用は推奨慣行であり、必須要件ではない。命名規則に従わなくてもソースコードのコンパイル(実行可能なファイルであるプログラムへの変換)とプログラムの実行は可能だからだ。一般には命名規則は読みやすくて保守しやすいソースコードを記述するためのものであり、コンパイラ(コンパイルを実行するソフトウェア)が求める要件ではない。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
なぜワンキャリアは障害復旧を3時間から1時間以内に短縮できたのか -
製品資料
自社のDevSecOpsはどこまで進んでいる? 進捗を測る指針“成熟度モデル”とは -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
事例
三菱ケミカルが脆弱性への迅速な対応フローを実現した方法とは? -
技術文書・技術解説
MDMだけでは防げない? Appleデバイスに潜む5つのセキュリティギャップ
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
LLMの「過学習」、正しく説明している文章はどれ?
-
2
「業務改善とツール活用」に関するアンケート
-
3
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
4
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
5
問い合わせ対応業務を効率化、セマンティック検索とFAQ自動生成の活用メリット
-
6
「ERP(統合基幹業務システム)の導入・活用」に関するアンケート
-
7
Claudeが耐量子暗号を攻略 迫られる暗号移行計画の見直し
-
8
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
9
「Google勤務なのに生活に困る」 非正規従業員の“厳し過ぎる現実”
-
10
AI投資が無駄に終わる 「データセンター人材の枯渇」が招く最悪のシナリオ
ホワイトペーパーランキング PR
-
1
属人化や仕様バグはなぜ起きる? AI時代に必須のドキュメント文化の作り方
-
2
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
中小企業必見、Microsoft 365でゼロトラストセキュリティを実現する方法
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
5分で分かる「AI駆動開発エージェント」 要件定義から設計・実装・テストまで
-
8
動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
-
9
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
10
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー